JS ES6 数组对象多组多个属性相加求和

JavaScript021

JS ES6 数组对象多组多个属性相加求和,第1张

不知道你的数据格式怎么样,对象数组大致可以这么判断,返回true或false

arr.every(item=>{

let num=0

for(k in item){

num+=item[k]

}

return num<100

})

传统意义上,Java只有indexOf方法可以用来确定一个字符串是否包含在另一个字符串中,ES6又提供了3种新的方法

这三个方法都支持第二个参数,表示开始搜索的位置

但是endsWith()和其他两个方法不同。它针对前n个字符,而其他两个方法针对从第n个位置到字符串结束位置之间的字符

新增的方法repeat()

repeat方法返回一个新字符串,表示将原字符串重复n次

参数NaN等同于 0

参数是 0 到-1 之间的小数,则等同于 0,这是因为会先进行取整运算。0 到-1 之间的小数,取整以后等于-0,repeat视同为 0

新增的方法trimStart(),trimEnd()

trimStart()和trimEnd()这两个方法。它们的行为与trim()一致,trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串

拓展:

我们在判断某一个字符是否存在于一个字符串中或者某一个值是否存在于一个数组中时,ES7之前我们需要使用indexOf,ES7引入了新的方法includes

includes返回布尔值,indexOf返回下标和-1,lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索,用法参照indexOf

模板字符串(template string)是增强版的字符串,用反引号(`)标识(若字符串中需要表示反引号,则需要在反引号前面使用反斜杠转义)

${}中可以是变量,也可以是函数

1、 indexOf 方法可返回某个指定的字符串值在字符串中首次出现的位置(ps:字符串实际是先转换为数组,所以字符串和数组的indexOf方法是一回事,上面已经提到过,这里不再赘述)

2、lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索(lastIndexOf与indexOf一样)

3、forEach遍历数组全部元素,利用回调函数对数组进行操作

function回调支持3个参数:数组元素 数组索引 被遍历的数组

forEach无法break中途跳出循环,不支持return操作输出,否则运行结果将会为undefined

4、map() 更新数组

return出来的就是新数组

如果想将对象数组转换成map集合,需要用到es6的语法。

比如对象数组为let arr = [{a:1,b:2},{a:3,b:4}]

首先我们要获取arr中每个对象的key和value,这里我们可以结合map和Object.entries()两个方法来实现。

let result = []

arr.map(o=>{

let map = new Map()

for(let [k, v] of Object.entries(o)){

map.set(k, v)

}

result.push(map)

})

最终result就是转换后的map集合了。