`
hjingfen
  • 浏览: 16586 次
社区版块
存档分类
最新评论

reduce、concat和flatten的使用

 
阅读更多

1.使用concat可以将两个数组合并为一个数组。
例如:

a = [1,2]
b = ["a", "b"]
a.concat(b)   //结果为:[1,2,"a","b"]
a.concat([3,4])  //结果为:[1,2,3,4]
["a", "b"].concat(["c","d"])   结果为:["a", "b", "c", "d"]


2.使用reduce可以把一个集合合成一个结果。
例如:

[1,2,3].reduce(0) { |result, i| result + i }   //结果为:6
[1,2,3].reduce(0, &:+)    //和上面的代码的运行结果相同
["a", "b", "c"].reduce('') { |result, item| result + item }  //结果为:"abc"
["a", "b", "c"].reduce('', &:+)

3.使用flatten可以使数组扁平化。
例如:

a = [1,2]
b = ["a", "b"]
[a,b].flatten    //结果为:[1, 2, "a", "b"]
分享到:
评论

相关推荐

    js代码-flatten

    对于扁平化数组,可以先使用`concat()`将所有元素添加到新数组,然后使用展开运算符: ```javascript function flatten(arr) { return [].concat(...arr); } ``` 当数组包含嵌套数组时,这个方法可能不够彻底,但...

    js代码-使用reduce实现数组扁平化一

    本篇主要关注如何使用`Array.prototype.reduce()`方法来实现这一功能。`reduce()`是JavaScript数组的一个方法,它遍历数组中的每个元素,并用一个初始值(accumulator)和当前元素(currentValue)生成一个新的单一...

    flatten:一个实用函数来拼合嵌套数据

    例如,可以使用ES6的`reduce`方法简化代码,或者添加一个可选参数来控制是否保留空数组: ```javascript function flatten(arr, shallow = false) { return arr.reduce((acc, val) => Array.isArray(val) ? ...

    JavaScript Array Flatten 与递归使用介绍

    总的来说,使用递归和辅助函数如`inject`和`each`,我们可以编写出优雅且易于理解的`flatten`函数,以处理JavaScript中的多维数组展平问题。这种方法不仅适用于数组,还可以扩展到处理包含对象的场景,提高了代码的...

    Flatten-Arrays:如何在JavaScript中展平多维数组

    这里的逻辑与`concat`方法的版本类似,只是使用了`reduce`而不是`concat`。 ### 3. 使用`flatMap()`方法(ES2019) 从ES2019开始,JavaScript引入了`Array.prototype.flatMap()`,它可以直接用来展平数组: ```...

    js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解

    在JavaScript中,数组扁平化是指将一个多维数组转换为一维数组的过程,这在处理复杂数据结构时非常有用。本文将重点讲解如何实现数组...在使用`push()`和`concat()`时,应根据实际需求来决定是否需要保持原数组不变。

    js代码-数组扁平化

    1. 使用`concat()`和扩展运算符 `concat()`方法可以合并两个或多个数组,返回一个新的数组,而不会改变原始数组。结合扩展运算符(...),我们可以创建一个递归的解决方案来扁平化多维数组。 ```javascript ...

    js代码-数组拍平:将多维数组转化为一维

    总结,JavaScript提供了多种方式来拍平多维数组,包括`concat()`、`reduce()`、展开语法和`flat()`。选择哪种方法取决于具体的需求,如兼容性、性能和代码简洁性。在阅读`main.js`和`README.txt`文件后,你将能够更...

    js代码-js数组打平相关

    在JavaScript中,数组打平(Array Flattening)是指将一个多维数组转换成一...而 `reduce()` 和 `concat()` 结合展开运算符的方法则更通用,但可能稍微复杂一些。在实际项目中,根据性能需求和目标环境选择合适的方法。

    js代码-数组实现扁平化

    acc.concat(flattenArray(val)) : acc.concat(val), []); } ``` 3. **reduce() 方法** `reduce()`方法可用于迭代数组的每个元素,累积结果。在此场景下,可以将所有元素累积到一个新数组中。 ```javascript ...

    js代码-算法中级:扁平化

    最后,使用`reduce()`和`concat()`将所有结果合并。 4. 使用递归 ```javascript function flatten(arr) { let result = []; for (let i = 0; i ; i++) { if (Array.isArray(arr[i])) { result = result.concat...

Global site tag (gtag.js) - Google Analytics