gpt4 book ai didi

javascript - 无法使用 JavaScript 从数组中删除重复值

转载 作者:行者123 更新时间:2023-12-02 14:09:36 25 4
gpt4 key购买 nike

我无法使用 JavaScript 从数组中删除重复值。

var arr = [{
'image': "jv2bcutaxrms4i_img.png",
'gallery_image': true
}, {
'image': "abs.png",
'gallery_image': true
}, {
'image': "acd.png",
'gallery_image': false
}, {
'image': "jv2bcutaxrms4i_img.png",
'gallery_image': true
}, {
'image': "abs.png",
'gallery_image': true
}, {
'image': "acd.png",
'gallery_image': false
}]

var outputList = [];

for (var i = 0; i < arr.length; i++) {
if (outputList.indexOf(arr[i].image) == -1) {
var data = {
image: arr[i].image,
gallery_image: arr[i].gallery_image
};
outputList.push(data);
}
}

console.log(outputList)

这里我无法正确删除数据。

最佳答案

您应该使用 some() 而不是 indexOf() 方法。来自 MDN:

The some() method tests whether some element in the array passes the test implemented by the provided function.

if (!outputList.some(x => x.image === arr[i].image))

工作演示

var arr=[
{'image':'jv2bcutaxrms4i_img.png','gallery_image':true},
{'image':'abs.png','gallery_image':true},
{'image':'acd.png','gallery_image':false},
{'image':'jv2bcutaxrms4i_img.png','gallery_image':true},
{'image':'abs.png','gallery_image':true},
{'image':'acd.png','gallery_image':false}
]

var outputList=[];

for(var i = 0; i < arr.length; i++){
if (!outputList.some(x => x.image === arr[i].image)){
var data={ image: arr[i].image,gallery_image:arr[i].gallery_image };
outputList.push(data);
}
}

console.log(outputList)

关于javascript - 无法使用 JavaScript 从数组中删除重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39747276/

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