可以同时定义多个变量,值来源于已有的数组
//1. 定义的变量===数组的项数
let [a,[b]]=[1,[2]]; console.log(a,b);//相当于a=1,b=2
- 省略赋值
let [a,,,b]=[1,2,3,4,5]; console.log(a,b);//a拿到右侧数组的第一项1,b拿到右侧数组的第四项4。中间不需要赋值和最后一项不需要赋值可以省略不写 //也可以这样获取a和b的值,var a=ary[0]
- 左侧某个变量可以获取右边数组多个值(不固定)
let [,a,,...b]=[1,2,3,4,5]; console.log(a,b);//第一个空位对应右侧1,a对应2,第三个空位对应3,...b取值为剩下的4,5 //a=2,b=[4,5]
- 左侧可以给默认值,当右侧是undefined或没有左侧对应的值时,左侧就会用默认值
//判断一个位置是否有值用===,右侧数组中当前像是undefined或没值时默认值生效,否则默认值不生效用右侧数组的值 let [a=0,b=1,c=2]=[1,undefined]; console.log(a,b,c);//a=1,b=1用默认值,c=2用默认值
方法
- array.from
- var newary=array.from(arguments);//将类数组转为数组
- find
- 遍历数组,依次遍历每一项当回调函数返回值是true时,停止查找返回当前项。如果一直是false返回undefined
var ary=[1,2,3];
var newary=ary.find(function (item, index, input) {
//item当前项,index当前项索引,input原数组
return true
})
- findindex
- 与find很像,但findindex返回的是当前项的索引
let ary=[10,11,12];
//1. for循环,i代表索引,ary[i]代表数组的每一项
for(let i=0;i<ary.length;i++){
console.log(i);
console.log(ary[i]);
}
//2. for in循环数组,key代表数组每一项的索引
for(let key in ary){
console.log(key);//key代表索引
console.log(ary[key])//根据索引输出数组中对应的项
}
for of循环不能遍历对象
//3.1 for of循环数组,item代表数组的每一项
for(let item of ary){
console.log(item);
}
//3.2 for of循环,数组调用keys方法,item代表数组每一项的索引
for(let item of ary.keys()){
console.log(item);
}
//3.3 for of循环,数组调用entries方法,数组有多少项a有多少个,每个a都是一个数组,
//数组有两项,第一项是数组当前项的索引,第二项是数组当前项
for(let a of ary.entries()){
let [index,item]=a;//结构数组a
console.log(index,item)
}
如对本文有疑问, 点击进行留言回复!!
【JavaScript笔记(一)】万丈高楼平地起 - 基本概念篇
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
vert实践五——Json?Protocol Buffer?FlatBuffers?
[基于tensorflow的人脸检测] 基于神经网络的人脸检测8——验证训练好的神经网络
网友评论