m =[{"name":a,"number":1},{"name":a,"number":3}]
怎么求 m[0].number + m[1].number ?
没看懂问题。。
首先 m =[{"name":a,"number":1},{"name":a,"number":3}]
直接报错
a如果不是变量要用引号的 name随意
再然后m[0].number + m[1].number
这个不是能加出来吗??
Array.prototype.reduce()
reduce()
方法对累加器和数组中的每个元素 (从左到右)应用一个函数,将其减少为单个值。
https://developer.mozilla.org...
var m =[{"name":'a',"number":1},{"name":'a',"number":3}]
console.log(m.reduce((v,o)=> v + o.number, 0))
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答873 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
LZ的需求应该是想要对一个数组里面所有元素的某个属性(number)进行求和,通过reduce很优雅就实现出来,如下:
当然也可以通过不断给一个外部变量赋值来达到目的:
上述是基于函数式编程的实现,通过一般的循环方式实现如下:
上面所有实现里面,前提是保证每个元素都有这个属性(number),并且这个属性存在,但事实通常会有个别出现一些问题,比如是
undefined
,这时候就需要特别处理一下: