我有一个二维数组,如下所示:
[[10, 20, 30, S1]
[10, 20, 30, S1]
[10, 20, 30, S1]
[50, 70, 80, G1]
[50, 70, 80, G1]
[50, 70, 80, G1]]
我想过滤掉每个子数组的第 4 个值的每个“非第一次”出现,如下所示:
[[10, 20, 30, S1]
[10, 20, 30]
[10, 20, 30]
[50, 70, 80, G1]
[50, 70, 80]
[50, 70, 80]]
这怎么可能? 提前致谢
最佳答案
您可以使用一个对象来跟踪找到的值,并在找到之前从子数组中删除最后一项:
var items = {};
for (var i = 0; i < arr.length; i++) {
var id = arr[i][arr[i].length - 1];
if (items.hasOwnProperty(id)) {
arr[i].pop();
} else {
items[id] = 1;
}
}
关于javascript - 过滤掉二维数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667374/