猫史档案馆


屑屑的教程之——数组

用户:yee剑走天下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


回复

上一页1 页 / 共 1下一页
DebugDynamoDebugDynamo

沙发

点赞0


评论


yee剑走天下yee剑走天下

ddd

点赞0


评论


yee剑走天下yee剑走天下

ddd

点赞0


评论


无极玄天无极玄天

不戳不戳,代码我要了

点赞0


评论


浮生awa浮生awa

屑一剑看q(

点赞0


评论


蔚蓝空间蔚蓝空间

每个汉字我都认识,连起来,废了(滑稽)

点赞2


评论


busterbuster

(。   。   。)))

点赞0


评论


SKQASKQA

//补充:
//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


评论


一门鸽鸽一门鸽鸽

“...”拓展运算符就像python里的解包运算符“*”

点赞0


评论


用户_869149用户_869149

顶顶顶)

点赞1


评论


用户_869149用户_869149

js比C++好用多了()

点赞0


评论


堂主の犬堂主の犬

()?

点赞0


评论


Star_Ink_sansStar_Ink_sans

收藏从未停止

学习从未开始

()()()

点赞2


评论


CenCen

dddd

点赞0


评论


yee剑走天下yee剑走天下

ddd

点赞0


评论


无极玄天无极玄天

哇坟

点赞0


评论


NomenNomen

小补充

下标指的是“偏移量”

比如第一项与第一项的偏移量是0

点赞1


评论


yee剑走天下yee剑走天下

ddd

点赞1


评论


爽快的小电鼠bMMb爽快的小电鼠bMMb

ddd

点赞0


评论


用户_869149用户_869149

喵谁挖的(

点赞0


评论


虚无之空虚无之空

ddd

点赞0


评论


老李头13zl老李头13zl

dddd

点赞0


评论


指令者指令者

dddddddd

点赞0


评论


_HHHHHHHHHH__HHHHHHHHHH_

ddd

点赞0


评论


卑微OIer卑微OIer

完蛋了()我有3个没见过,我还是正常人吗

点赞0


评论


AokenAoken

ddd

点赞0


评论


治愈绾兮治愈绾兮

//扩展运算符在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


评论


艾博士艾博士

我:这里的水好深啊,我快淹喵了

神:答对几道代码题便可通关

我:哦那算了我潜下去吧

神:……

我:不行不行要淹喵了![呕(咽气的声音)]

最终,我因为不回挖坟趋势(bushi

点赞0


评论


NysidlaNysidla

六个月前的?照样挖!

点赞0


评论