javascript - ReactJS/JavaScript 在对象中查找数组
问题描述
我有一个字符串value
和一个对象obj
,想转换value
为array
然后obj
按值找到它,然后得到name
但它返回undefined
,我错过了什么?
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);
推荐阅读
- excel - 如何确定某个区域的单元格中是否存在形状?
- java - SimpleXML 从特定元素获取内部 XML
- function - Python中的一个简单数学对我来说很难
- python - 是否有可能从我的井字游戏中导出四连线?
- svelte - 使用 Svelte 更新商店中的数组时未定义
- python - Jupyter Lab内联中的Pyplot - 裁剪图像?
- file - 如何在python中创建文件?
- bash - 使用 gzip 和 bcftools 的 Bash 脚本因大文件而内存不足
- elasticsearch - 有没有办法跟踪一个实体在弹性搜索中被击中的频率?
- vue.js - 在 vue 2 中真的需要 Vuex 吗?