JavaScript:如何避免数组嵌套,得到单一一维数组?
实现一维数组合并的可行方案
当然可行,你可以通过以下几种方式将test数组的元素直接添加到sample数组中,得到一维数组:
使用展开运算符(Spread Operator)
该方式会将test数组的元素逐个展开后添加到sample,代码示例:const sample = []; const test = ["a", "b", "c", "d"]; sample.push(...test); console.log(sample); // 输出: ["a", "b", "c", "d"]使用
Array.prototype.concat()方法concat会返回包含原数组与目标数组所有元素的新数组,适合不想修改原sample数组的场景:const sample = []; const test = ["a", "b", "c", "d"]; const newSample = sample.concat(test); console.log(newSample); // 输出: ["a", "b", "c", "d"]使用
Array.prototype.push.apply()方法
借助apply将test数组作为push的参数列表传入,实现批量添加元素:const sample = []; const test = ["a", "b", "c", "d"]; Array.prototype.push.apply(sample, test); console.log(sample); // 输出: ["a", "b", "c", "d"]
原代码中sample.push(test)会把整个test数组作为单个元素添加到sample,因此形成嵌套数组;而上述方法都是将test的元素逐个加入sample,最终得到一维数组。
内容的提问来源于stack exchange,提问作者Happy1234
相关产品推荐
相关产品推荐

