比如我的需求就是在一个阴间结构内需要拿到我要的值
像这样的结构,嵌套的也不知道多少层,然后里面包含了需要的X和Y坐标。那需要拿到这个对应的坐标
let a = [3, [4], [5, [{
x: 1 }], [{
y: 1 }, [{
x: 2 }], [{
y: 2 }]]]];
方法
let a = [3, [4], [5, [{
x: 1 }], [{
y: 1 }, [{
x: 2 }], [{
y: 2 }]]]];
let arr = Object.values(a).flat(Infinity);
arr.forEach((item) => {
if (typeof item == "object") {
//根据你要的格式进行取值
console.log(item, "扁平化");
}
});
效果图
其中关键的一句就是 Object.values(a).flat(Infinity)
这一句话可以让不管多少层嵌套的数组给他扁平化展开并返回一个新的数组。
返回后就是这样的:
直接成了一个数组,那就很简单了,直接循环遍历一下,然后判断是你要的数据就取出来搞定。