[英]Check duplicated elements in moredimensional array and delete only one element
我想删除多维数组中重复的元素之一。 到目前为止,这是我的代码:
for (var i = 0; i< blog.length; i++){
for (var i = 0; i< blog.length; i++){
var check1 = blog[i][1];
var check2 = blog[j][1];
//check1 = 120;;200 check2 = 130;;180
if (check1 == check2){
blog[i].splice(i, 1);
}
}
}
循环向下的阵列和存储在发现值作为密钥中的对象 ,所以你可以做一个快速in
检查。
var blog = [['a', 0], ['b', 1], ['c', 2], ['d', 3], ['e', 0]]; // test var
var i = blog.length, // var to loop over
o = {}, // obj to hold keys
b2 = []; // temporary array
while (i--) { // looping down
if (false === blog[i][1] in o) { // if not already seen
o[blog[i][1]] = 1; // mark as seen
b2[b2.length] = blog[i]; // add to temporary array
}
}
blog = b2.reverse(); // temporary array is backwards so reverse it and set `blog`
// [["b", 1], ["c", 2], ["d", 3], ["e", 0]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.