
例如上图有个数组arr,我想拿到标红的地方
常规方法: arr&&arr[0]&&arr[0].activityInfo&&....... 很麻烦
封装一个方法来解决它
var deepSeek= function(obj, arr = []) {
//如果不是引用类型就返回该数据本身
if (typeof obj !== 'object') {
return obj
}
//利用reduce的特性来处理
var result = arr.reduce(function(pre, cur) {
return (pre && pre[cur]) ? pre[cur] : null
}, obj)
return result
}
//调用它
deepSeek(arr[index],['activityInfo',0,'bonusList',0,'bonusRulesDesc'])
就可以完美的判断数据是否存在不为空,并拿到数值
利用这个方法,我们就完美解决了这个问题了
介绍了一种名为deepSeek的方法,用于简化在JavaScript中对嵌套对象的属性访问过程,避免了繁琐的链式调用,提高了代码的可读性和效率。
3084

被折叠的 条评论
为什么被折叠?



