获取对象的数组而不是数组的数组,可以通过以下几种方式实现:
const arr = [1, [2, 3], { name: 'John' }, [4, 5]];
const objectArray = [];
for (let i = 0; i < arr.length; i++) {
if (typeof arr[i] === 'object' && !Array.isArray(arr[i])) {
objectArray.push(arr[i]);
}
}
console.log(objectArray);
const arr = [1, [2, 3], { name: 'John' }, [4, { age: 25 }]];
function getObjectArray(arr) {
const objectArray = [];
for (let i = 0; i < arr.length; i++) {
if (typeof arr[i] === 'object' && !Array.isArray(arr[i])) {
objectArray.push(arr[i]);
} else if (Array.isArray(arr[i])) {
objectArray.push(...getObjectArray(arr[i]));
}
}
return objectArray;
}
console.log(getObjectArray(arr));
Array.prototype.flat()
方法将多维数组扁平化,然后筛选出对象类型的元素。这种方法适用于数组中有多层嵌套的情况。const arr = [1, [2, 3], { name: 'John' }, [4, { age: 25 }]];
const objectArray = arr.flat().filter(item => typeof item === 'object' && !Array.isArray(item));
console.log(objectArray);
以上方法可以获取到数组中的对象类型元素,适用于不同的场景和需求。对于JavaScript编程语言,可以使用以上方法来获取对象的数组而不是数组的数组。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云