用户:yee剑走天下查看:10 回复:29 评论:10 创建时间:2022-07-28T18:59:27
开摆()自从上次出来一期函数后好像隔了蛮久时间的))
那么这期简简单单讲个数组()()
首先,我们要理解,什么要数组()
说白了,就算个列表()
好了,概念理解了()直接上代码)
/-------------------------正片开始---------------------/
那么,我们如何搞一个数组呢?
有两种方法)
第一种:
let a = ['a', 'b', 'c', 'd']
很简单,对吧()
那么第二种:
let a = new Array('a', 'b', 'c', 'd')
也是很简单,对吧)
好()那么我们知道了怎么搞一个数组之后()接下来就该干嘛?
访问啊!
数组用下标访问()
什么叫下标?()
就是该元素所在的位置()
比如上面那个数组:
let a = new Array('a', 'b', 'c', 'd');
console.log(a[1])
那么这时候它会输出的是b,因为数组第一个元素的下标是0()不是1!(划重点)
那么访问会了)现在该干嘛?
求长度啊!
怎么求?)
很简单()
let a = new Array('a', 'b', 'c', 'd')
console.log(a.length)
那么这是控制台会输出这个数组的长度,也就是4
那么长度求完了,现在又该干嘛?
改变这个数组啊!
怎么改变(
/------------------------干货来了-------------------------/
注:这里只讲几种常用的()详情请翻看API
1.扩展运算符(我也不清楚是不是叫这个名字())
作用:把数组扩展开来)(这不废话吗)
张这个样子:
...
是的()就是简简单单三个点)
那么有什么用处呢?
说白了就是可以把这个数组展开来)
如果还是刚刚上面那个数组,把它用拓展运算符的话:
var a = [1, 2, 3, 6, 4, 5, 6];;
console.log(...a)
那么这是控制台会输出1 2 3 4 5 6
没有逗号()
我也暂时搞不清楚有啥大用处)
2.find函数()
作用:遍历所有元素,找到第一个符合条件的元素()
还是用上面那个数组打个比方:
var a = [1, 2, 3, 6, 4, 5, 6];
a.find(e => e > 3)
那么这时它会返回的是6,因为它是从1开始,一个一个遍历,然后给它的条件是大于3,当它遍历到第四个元素时,也就是6的时候,那么它就是第一个大于3的元素()便会返回它)
3.filter函数()
作用:和find很像()遍历数组的所有元素,找到所有符合条件的元素
还是用上面那个数组举例:
var a = [1, 2, 3, 6, 4, 5];
a.filter(e => e > 3)
那么这时它会返回的是6, 4, 5,很好理解吧?
3.pop函数()
作用:删除数组后面最后一个元素
还是用上面那个数组举例子:
var a = [1, 2, 3, 6, 4, 5];
a.pop()
那么这时它会删除掉5,这时的数组a就会变成1, 2, 3, 6, 4
4.push函数()
作用:在数组的最后添加一个元素
又双用上面那个数组举例:
var a = [1, 2, 3, 6, 4, 5];
a.push(6)
那么这时数组a便会变为1, 2, 3, 6, 4, 5, 6
5.reverse函数()
作用:将数组颠倒过来()
又双叒用上面那个数组举例:
var a = [1, 2, 3, 6, 4, 5];
a.reverse()
那么这时数组a便会变成5, 4, 6, 3, 2, 1
7.shift函数()
作用:和pop很像()删除数组的第一个元素()
又双叒叕用上面那个数组举例子:
var a = [1, 2, 3, 6, 4, 5];
a.shift()
那么这时a会变成2, 3, 6, 4, 5
8.splice函数()
作用:删除或者添加元素到某个下标
splice函数有两个参数,第一个填要删除的起始下标,第二个填要删除多少个元素
还是用刚刚那个数组举例:
var a = [1, 2, 3, 6, 4, 5];
a.splice(0, 2)
那么这里它会从下标0开始删除两个元素,也就是1和2
9.indexOf()
作用:找到该元素的第一次出现的下标
换一个数组举例:
var a = [1, 2, 3, 6, 4, 5, 2];
a.indexOf(2)
那么它会返回的是1,虽然这个数组里面有两个2,但是它只找第一次出现的,也就是第一个出现的2,然后它的下标是1,所以返回1
还有一个添加元素的方法:
var a = [1, 2, 3, 6, 4, 5];
a.splice(6, 0, 7)
那么这里的意思是,在下标为6的位置删除0个元素,并添加7这个元素
10.includes函数()
作用:该元素是否包含所填的参数
举个栗子:
var a = [1, 2, 3, 6, 4, 5];
a.includes(3) // 返回true,因为这个数组里面有3这个元素
a.includes(7) // 返回false,因为这个元素里面没有7这个元素
很简单对吧()
11.every函数()
作用:遍历所有元素,如果所有元素都符合条件,返回true,反之亦然
举个栗子:
var c = [
{ name : '屑卢卡', age: 114 },
{ name : '屑清华', age: 514 },
{ name : '屑人jee', age: 1911980},
]
c.every(e => e.age > 100)
那么这时它会返回true,因为这个数组里面的每一个人的年龄都比100大(确信
12.forEach函数()
用处:遍历所有元素
举个栗子:
var a = [1, 2, 3, 4, 5, 6, 2];
a.forEach((x) => {
console.log(x)
})
那么这时它便会在控制台一个一个输出1, 2, 3, 4, 5, 6, 2
和for(let x of a)一样的效果
13.map函数()
作用:返回一个经过变化的新数组()
举个例子:
var a = [1, 2, 3, 4, 5, 6, 2];
var b = a.map(e => e * 2)
那么这时b就变成了a的所有元素*2,也就是2, 4, 6, 8, 10, 12, 4
但是a本身不会改变!(划重点)
除非你a = a.map()
好了()本期代码教程就到这里了()
去岛三给个关注吧awa
SKQA//补充:
//1.使用new关键词定义的数组是对象。推荐用方括号定义数组,用new关键词会影响代码运行效率
//2.有时用new关键词定义数组会引起不必要的麻烦:
[5] //定义数组,数组里有个元素(5)
new Array(5) //定义长度为5的数组
//3.数组是有序的,序号叫做下标或索引,从0开始。而如果你不想要序号,就可以用对象。
//4.我一般管三个点叫做三点运算符
//5.三点运算符仅在ES6有用
//6.讲shift不讲unshift?
var arr=[1,1,4,5,1,4]
arr.unshift(1.919810) //在数组前面(第0项)添加元素
//7.push,shift,unshift都返回操作后的数组的长度
//8.我啥时候成114岁了点赞2
评论
治愈绾兮//扩展运算符在BOX3也有用()
console.log(..."yee")// y e e
//和帖子里讲的一样,因为字符串也是数组,不过我们把它套个中括号:
console.log([..."yee"])// ["y", "e", "e"]
//所以这玩意可以直接代替"yee".split("")
//然后这玩意还可以用来传参()
function fn(a, b){
return a+b;
}
console.log(fn(...[114, 514]))// 1919810(bushi)
//插入到另一个数组()
arr1 = [1, 1, 4];
arr2 = [...arr1, 5, 1, 4];
console.log(arr2); // [1, 1, 4, 5, 1, 4]点赞0
评论