1,...用法
传统的用法
var arr=[1,2];
function hello(name,age){
console.log(name+age)
}
hello.apply(null,arr)
es6的用法
var arr=[1,2];
function hello(name,age){
console.log(name+age)
}
hello(...arr)
... 扩展用运算符直接把 数组 入参;分别对应。
2, 对象的 keys ,values, entries 的用法
var obj={name:"xiaoming",age:"20"}
console.log(Object.keys(obj));
console.log(Object.values(obj));
console.log(Object.entries(obj));
keys 输出的是所有的键名组成的数组 [name,age];
values 输出的是所有的值组成的数组["xiaoming","20"];
entries 输出的是 所有的 键值对的组成的二维数组; [[name,"xiaoming"],[age,"20"]];
以及 对象的 计算属性 :就是对象的key可以是变量来命名
const name:"xiaoming";
const obj={
[name]:"who"
}
3,利用解构复制来拿到数组的首尾;
var arr=[1,2,3,4];
const [head,...others]=arr;
const [last,...others2]=arr.reverse;
console.log(head,last)
4,find 和findIndex方法
- [1, 5, 10, 15].find(function(value, index, arr) {
- return value > 9;
- }) // 10
上面代码中,find方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组。可以用判断的条件;
所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。