我有一些名为user_list的数组,看起来像这样:
[[user3, 12], [user2, 10], [user1, 5], [user5, 5], [user4, 4]]
第一列包含用户名,第二列包含其余额。我已经按平衡对它们进行了排序,现在我必须删除所有具有相同余额的行,并将具有不同余额的用户添加到名为unique_user_list的新数组中。
所以,预期的结果是:
[[user3, 12], [user2, 10], [user4, 4]]
这是我的循环(不起作用)。
for(var i = 0; i<user_list.length; i++) {
var unique = user_list[i][1];
for(var j = 1; j<user_list.length; j++) {
if(unique!=user_list[j][1]) {
unique_user_list[i] = user_list[i][0];
}
}
}
答案 0 :(得分:1)
这可能是更好的方法,但你可以让它像这样工作:
function getUnique() {
var unique_user_list = [];
for (var i = 0; i < user_list.length; i++) {
var unique = user_list[i][1];
var match = false;
for (var j = 0; j < user_list.length; j++) {
if (unique == user_list[j][1] && j != i) {
match = true;
}
}
if (!match) {
unique_user_list.push(user_list[i]);
}
}
return unique_user_list;
}
你想确保j!= i,所以你不会检查值等于它自己。并且你想以同样的理由推送到外环中的输出数组。
答案 1 :(得分:0)