gpt4 book ai didi

javascript - 如何使 Javascript map 函数不返回特定值?

转载 作者:行者123 更新时间:2023-11-30 07:13:40 25 4
gpt4 key购买 nike

我有这个数组和变量:

var freqId = 45;

$scope.frequencies = [{Id:124,name:'qqq'},
{Id:589,name:'www'},
{Id:45,name:'eee'},
{Id:567,name:'rrr'}]

我使用这一行从上面的数组中获取所有 id:

var inspectionsId = $scope.frequencies.map(function (obj) { return obj.Id; })

我得到的结果是:

var Id's = [124,589,45,567];

我需要更改这一行:

$scope.frequencies.map(function (obj) { return obj.Id; })

从频率数组中检索所有 id,除非 Id 等于 freqId 变量。

例如期望的结果是:

var inspectionsId = [124,589,567];

知道如何实现它吗?

最佳答案

您还可以使用 Array.prototype.reduce 在单个循环中同时执行过滤和映射:

var freqId = 45;

$scope = {}; // Dummy scope

$scope.frequencies = [{
Id: 124,
name: 'qqq'
}, {
Id: 589,
name: 'www'
}, {
Id: 45,
name: 'eee'
}, {
Id: 567,
name: 'rrr'
}]

var result = $scope.frequencies.reduce(function(result, current) {
if (current.Id != freqId) {
result.push(current.Id);
}

return result;

}, []);

console.log(JSON.stringify(result));

关于javascript - 如何使 Javascript map 函数不返回特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38941361/

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