gpt4 book ai didi

javascript - 获取数组中对象的属性

转载 作者:行者123 更新时间:2023-11-30 14:32:40 25 4
gpt4 key购买 nike

我使用 Vue.js 并有一种方法可以将一个数组的值与另一个数组的值进行比较。

array1:  [{ name: 'test1', somevar: true }, { name: 'test2', somevar: false }]
array2: ['test1', 'test3']

compare() {
//I want to access an object property within an array1
this.array1.forEach((element) => {
if(this.array1.element.name.includes(this.array2[0])) {
// if it is true, I would like to remove that compared value from an array 1
if(this.array2[0] !== -1) {
var index = this.array1.element.name.indexOf(this.array2[0])
this.array1.splice(index, 1)
}
}

我认为这部分:this.array1.forEach((element) 不正确。我如何访问该对象的属性?

最佳答案

array1 是一个数组,而不是对象,因此访问 this.array1.element 将不起作用。只需将元素引用为 forEach 的参数即可。

此外,传递给 forEach 的函数接受另一个参数:第二个参数表示当前元素的索引,因此无需搜索 indexOf.

但是,比那些调整更好的是,在这种情况下使用 filter 会更合适:

const obj = {
array1: [{ name: 'test1', somevar: true }, { name: 'test2', somevar: false }],
array2: ['test1', 'test3'],
compare() {
obj.array1 = obj.array1.filter(({ name }) => (
!obj.array2.includes(name)
))
}
}
obj.compare();
console.log(obj.array1);

关于javascript - 获取数组中对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com