gpt4 book ai didi

javascript - 使用 Angular js 从 json 数组中删除重复值

转载 作者:行者123 更新时间:2023-11-28 05:54:52 24 4
gpt4 key购买 nike

我想从以下 json 数组中删除重复项

$scope.array = [
{"name":"aaa","key":"1"},
{"name":"bbb","key":"2"},
{"name":"aaa","key":"1"},
{"name":"ccc","key":"3"},
{"name":"bbb","key":"2"}
];

我尝试了以下代码,但它不起作用

var ids = {};

$scope.array.forEach(function (list) {
ids[list.name] = (ids[list.name] || 0) + 1;
});

var finalResult = [];
$scope.array.forEach(function (list) {
if (ids[list.name] === 1) finalResult.push(student);
});

console.log(finalResult);

这是预期的结果。

$scope.array = [
{"name":"aaa","key":"1"},
{"name":"bbb","key":"2"} ,
{"name":"ccc","key":"3"}
];

最佳答案

您可以使用 Array#filter 执行类似的操作

$scope = {};
$scope.array = [{
"name": "aaa",
"key": "1"
}, {
"name": "bbb",
"key": "2"
}, {
"name": "aaa",
"key": "1"
}, {
"name": "ccc",
"key": "3"
}, {
"name": "bbb",
"key": "2"
}];

var ids = {};

$scope.array = $scope.array.filter(function(v) {
var ind = v.name + '_' + v.key;
if (!ids[ind]) {
ids[ind] = true;
return true;
}
return false;
});
console.log($scope.array);

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

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