首先让我们了解什么是扁平化数组。扁平化数组是一个数组,但这个数组是多维数组、嵌套数组或包含另一个数组的数组的一种形式。
展平是一种有助于将多维数组简化为一个一维数组(称为展平)的方法或技术。
有时我们在处理项目或解决问题时需要此类数据,那么使用扁平数组传递数据集组会有所帮助。
示例:
// This is a flattened array let arr = [1,44, [2, [3,9], 67], 9];
解决此类问题的方法有很多种,但在这里,我将使用递归方法进行解释,这是解决此类问题的最佳方法之一。
在这里,我不会详细解释递归,但我会给出一些概述,如果你想了解更多,我会为此创建一个单独的帖子。
递归是一种解决重复类工作问题的编程方法,它直接或间接地调用自身,直到不匹配给定的特定条件,如果匹配则函数停止调用自身。
// This is a flattened array // Input: let arr = [1,44, [2, [3,9], 67], 9]; // Function Defin function recur(a) { let newArr = []; for (let i =0 ; i < a.length; i++) { const element = a[i]; if (Array.isArray(element)) { // Function calling itself recursion newArr.push(...recur(element)) } else { newArr.push(element) } } return newArr; } console.log(recur(arr)) Output: [1,44,2,3,9, 67, 9] // We can also write the same code using for each: function flattenArray(items) { const flat = []; items.forEach(item => { if (Array.isArray(item)) { flat.push(...flatten(item)); } else { flat.push(item); } }); return flat; } onsole.log(flattenArray(arr)) output: [1,44,2,3,9, 67, 9]
以上是什么是展平数组以及如何使用 JavaScript 中的递归函数解决展平数组问题?的详细内容。更多信息请关注PHP中文网其他相关文章!