- ネイティブなJavaScriptの
Array.prototype.flat()
メソッドを使用する方法:
const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = nestedArray.flat(Infinity);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]
- 再帰的なアプローチを使用する方法:
function flattenArray(arr) {
return arr.reduce((flat, toFlatten) => {
return flat.concat(Array.isArray(toFlatten) ? flattenArray(toFlatten) : toFlatten);
}, []);
}
const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = flattenArray(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]
Array.prototype.forEach()
メソッドと再帰を組み合わせる方法:
function flattenArray(arr) {
let flattenedArray = [];
arr.forEach(item => {
if (Array.isArray(item)) {
flattenedArray = flattenedArray.concat(flattenArray(item));
} else {
flattenedArray.push(item);
}
});
return flattenedArray;
}
const nestedArray = [1, 2, [3, 4, [5, 6]]];
const flattenedArray = flattenArray(nestedArray);
console.log(flattenedArray); // [1, 2, 3, 4, 5, 6]
これらの方法を使用すると、ネストされた配列をフラット化して単一の配列にすることができます。これにより、フラットな配列内で要素を検索する際に簡単になります。
以上がReactでネストされた配列を検索する方法のいくつかの例です。