javascript - ReactJS/JavaScript 在对象中查找数组

标签 javascript reactjs ecmascript-6

我有一个字符串value和一个对象obj,想要将value转换为array然后找到它按值在 obj 中获取名称,但它返回未定义,我错过了什么?

let value = '3,4';
let obj = {
  "DistrictData": [{
    "id": 3,
    "name": 'blah'
  }, {
    "id": 4,
    "name": 'oops'
  }]
}

let res = value.split(',').map((v, i) => obj.DistrictData.find(o => o.id === v))
console.log(res)

最佳答案

您需要使用数字值进行查找,因为 split 返回一个字符串数组。然后也映射名称。

let value = '3,4',
    obj = { DistrictData: [{ id: 3, name: 'blah' }, { id: 4, name: 'oops' }] },
    res = value
        .split(',')
        .map((v, i) => obj.DistrictData.find(o => o.id === +v))
        .map(o => o.name);

console.log(res);

关于javascript - ReactJS/JavaScript 在对象中查找数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60141266/

相关文章:

javascript - JavaScript 变量存储在哪里?

javascript - 对象的可配置属性和可写属性之间的区别

javascript - 如何将图像叠加在 Canvas 上,然后在其上绘图?

javascript - 使用 Object.assign() 方法分配属性的子集

javascript - create react app 的 firebase 部署在源选项卡中公开了所有 js 代码?

javascript - 是的,验证不同对象形状的数组

angular - 无法使用 tsconfig.json 缩短导入路径

javascript - 是否可以运行无限循环而不阻塞执行流程?

asp.net - asp.net 网站性能缓慢,从哪里开始寻找问题?

javascript - Uncaught Error : Parse Error: Line 13: Unexpected identifier