javascript - 有条件地创建数组(Javascript)

标签 javascript arrays lodash

我们如何从数组中提取特定字段的值(我想提取id值)

[
    {id:1, added: true, name: 'Book'}, -> I want to extract id value!
    {id:2, added: true, name: 'Desk'},
    {id:5, added: true, name: 'Rock'},
    {id:3, added: false, name: 'Rock'},
    {id:7, added: false, name: 'Rock'},
    {id:8, added: false, name: 'Rock'},
]

并使用值创建一个数组。 (仅当添加的字段为 true)

预期输出将为[1, 2, 5]

如果我们能够在获取 [] 空数组时捕获边缘情况,那就太好了。

请随意使用 lodash(如果它比 vanila javascript 更快、更简单)

最佳答案

您只需使用 Array#filterArray#map 结合功能

const arr = [
    {id:1, added: true, name: 'Book'},
    {id:2, added: true, name: 'Desk'},
    {id:5, added: true, name: 'Rock'},
    {id:3, added: false, name: 'Rock'},
    {id:7, added: false, name: 'Rock'},
    {id:8, added: false, name: 'Rock'},
];

const mappedArr = arr.filter(item => item.added).map(item => item.id);

console.log(mappedArr);

关于javascript - 有条件地创建数组(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47617325/

相关文章:

Javascript:如何创建一个函数,该函数 1. 接受全局变量作为参数 2. 更改该全局变量的值?

javascript - 如何更改已动态添加到 div 的图像的源 url?

javascript - 我可以在代码库的任何地方用 "GET"替换 "POST"方法吗?

arrays - 将一个数组中的对象随机替换到另一个数组中。 swift 4

php - PHP 中数组类型的转换

c++ - 为什么基于范围的 for 循环中二维数组的元素是 T* 而不是 T (*)[n]?

AngularJS - ng-repeat按键时的orderBy值,值对

javascript - 过滤深度嵌套的数据并返回所有父/直接子项JS

javascript - vuejs如何防止渲染页面跳转?

javascript - 如何使用 react-native Realm 进行动态过滤