Element:[
name:'一类'
child:[
{name:'第一个',id:'123456'}
]
]
我现在知道一个id为123456,想要通过id来找到对应的对象{name:'第一个',id:'123456'}
第一个能想到的就是两个for循环嵌套,请问有什么更好更简洁的写法吗
Element:[
name:'一类'
child:[
{name:'第一个',id:'123456'}
]
]
我现在知道一个id为123456,想要通过id来找到对应的对象{name:'第一个',id:'123456'}
第一个能想到的就是两个for循环嵌套,请问有什么更好更简洁的写法吗
首先,你确定你这是二维数组?
其次,这种数据应该是后台返回的。那么肯定具有一定规则,按规则取就行了,不需要自己瞎找。
非要瞎找,递归查找。数组找元素,对象hasOwnProperty('id')
拿id,非引用类型跳过。
递归吧
childJin(data) {
const a = data.children.length
for (let i = 0; i < a; i++) {
if(id === data.children[i].id) {
return false
} else {
this.childJin(data.children[i])
}
}
},
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
6 回答2.2k 阅读
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
一般来说是都是通过递归来查找,如果使用频率不高的话,但是效率一般都比较低。
如果说使用频率比较高,我一般都是转换成
Map
数据,然后通过get
去获取。比如说: