Object.assign()
将多个原始对象的属性和方法合并到目标对象上,出现同名的属性和方法后合并的会覆盖之前的同属性或方法
let newObj = Object.assign({}, {name:'wind'},{age:'24',sex:'male',age:'25'});
console.log(newObj) // { name:'wind',sex:'male',age:'25' }
arr.findIndex() =>找出第一个符合条件的数组成员下标,找不到返回-1;
arr.every()
·使用指定函数检测数组中的所有元素:
function(currentValue, index,arr)
currentValue 必须。当前元素的值
index 可选。当前元素的索引值
arr 可选。当前元素属于的数组对象
·如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
·如果所有元素都满足条件,则返回 true。
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
console.log(ages.every(checkAdult)) // false
arr.some()
·会依次执行数组的每个元素:
function(currentValue, index,arr)
currentValue 必须。当前元素的值
index 可选。当前元素的索引值
arr 可选。当前元素属于的数组对象
·如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
·如果没有满足条件的元素,则返回false。
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
console.log(ages.every(checkAdult)) // true
在某些时候我们会遇到对对象数组进行操作这个时候我们就会遇到一个问题就是改变赋值之后的数组原数组的值也会跟着发生改变,这个时候需要用到对象数组的深拷贝,推荐使用 lodash
import { cloneDeep } from 'lodash'