gpt4 book ai didi

javascript从数组数组中删除重复项

转载 作者:行者123 更新时间:2023-12-02 16:43:35 25 4
gpt4 key购买 nike

如何删除数组中的重复项,如下所示:

arr = [
[828, 187, 1, 14, 1, 25, 1417608935730],
[828, 187, 1, 14, 1, 25, 1417608935740],
[828, 187, 1, 14, 1, 25, 1417608935750],
[828, 187, 1, 14, 1, 25, 1417608935760],
[600, 578, 1, 14, 1, 25, 1417608935760],
[828, 187, 1, 14, 1, 25, 1417608935780],
[828, 187, 1, 14, 1, 25, 1417608935790]
]

由于第 4 个和第 5 个数组具有 1417608935760 相似的值,我想删除下一个重复项并仅保留一个。

我尝试过这个但不起作用:

$.each(arr, function(i, insidearr){  
if($.inArray(insidearr[6], uniqueNames) === -1)
uniqueNames.push(insidearr);
});

请帮忙。提前致谢

最佳答案

您将整行插入uniqueNames。该数组永远不会等于每行末尾的数字,因此 $.inArray() 测试始终会失败。您只需要为要比较的元素和结果数组使用单独的数组。

var newArray = [];
var uniqueNames = {};
$.each(arr, function(i, insidearr) {
if (!(insidearr[6] in uniqueNames)) {
newArray.push(insidearr);
uniqueNames[insidearr[6]] = true;
}
});

我使用对象而不是数组作为 uniqueNames,因为搜索对象键比扫描数组更快。

关于javascript从数组数组中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27292560/

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