06-17 JS内置对象(Array(数组)对象)-对数组的改变方法-学习总结

JS中常用的内置对象:

(1)Array(数组)对象:

具有相同数据的一个或多个值的集合;例如:

第一种数组对象的创建方式:

相同数据的一个或多个值的集合

第二种数组对象的创建方式:

size值是空的,可以往里面塞数值

第二种数据对象的创建方式里又有两种方法给它赋值:

(1)直接在里面赋值:

里面赋值

(2)在外面分别赋值:

在外面分别赋值(用的不多,了解即可)

length是数组里的属性,可以打印出数组的数量;

用这样的方法一样可以打印出数组的所有值

数组中的方法:

1.用join的方法:可以把数组变成字符串进行分隔:

用join方法是把数组变成字符串

在join里用"&"可以在地址栏里把数据传参串联起来;

join方法

2.用sort的方法:对数组进行排序:会改变原数组;

缺点:直接写sort只对个位数排序有效,对多位数会以第一个数字的大小进行排序;

多位数数字排序有误

那么如何用sort对多位数数字进行排序呢?:

sort是特殊的参数传函数的方法:

从小到大排序 or 从大到小排序:

用sort和function改变对多位数的排序

也可以把函数调用出来写,效果是一样的:

从小到大排序 or 从大到小排序:

3.index of:找的到就会显示数组的下标数据,如果找不到就是-1;

来判断我要的数据是否在数组中存在;返回的都是数字类型;

来判断我要的数据是否在数组中存在

可以从负数开始找,也可以传第二个参数;

可以从负数开始找,也可以传第二个参数;

4.push():

向数组的末尾添加一个或多个元素,

push()向数组的末尾添加一个或多个元素,

5.includes():

和index of相似,都是来查找数值是否存在,但是它是返回true 或者false;存在就是true.不存在是false;

存在就是true.不存在是false;

6.concat():

合并两个数组,会生成一个新数组,不会对原数组造成改变;

会拼接在一起

7. 拓展运算符...  :

拓展运算符的方法也可以合并:

用...的方式

8.pop():

删除数组中最后一个元素,会返回这个元素:

pop():

9.unshift():

会在之前的数组最前面添加一个或多个元素,会返回新的长度;

unshift():

10.shift():

删除数组中第一个元素,会返回这个元素:

shift()

11.splice():

对数组指定位置的元素进行增删该操作:

aplice()里必须要写三种参数:(1)元素所在的下标;(2)删除元素的个数;(3)需要添加的元素;

当splice(0,0)时返回的是空数组;

当splice(-2,2)为负值的时候,可以成立吗?:成立,从后面开始数;

1.(不删除,只添加内容的时候):

splice()

2.删除某个数组的时候:

splice()

3.既删除,又添加的时候,可以理解为修改:

splice()

12.slice():返回被删除的元素;

第一个参数是索引值,返回从索引值到数值末尾的元素,是正数;第一个参数也可以是负值,倒着数,从数组末尾开始返回;

第二个参数是结束索引位置-1 半闭合 ;


13.reverse():倒序排;返回的是倒序后的数组;


14.tostring()方法:返回不带括号的字符串;

数组身上的tostring()方法,是把数字转为字符串:直观效果是去括号:

ps:1.无论里面嵌套多少的括号,用tostring()方法都可以去掉;

        2.数组,字符串和数字都有tostring()方法;但是数字使用tostring()方法要用变量的方式,不能直接数字;

tostring()方法

15.find()方法: 只返回第一个符合要求的值;否则就返回undefined;

作用:通过return作为判断条件,返回一个新的对象;

有三个参数:第一个参数:item是每一个元素  相当于循环;

第二个参数:index是每一个元素的索引;

第三个参数:array是原数组;

find()方法: 只返回第一个符合要求的值;

16.filter()方法: 返回所有符合要求的值;

参数是相同的,返回值和find不一样;

作用:通过return的判断条件为true的形成一个新数组;

filter()方法: 返回所有符合要求的值;

17.every()方法: 返回的值是true或false;

如果数组中有一个不满足,就返回false;

every()方法:返回的是true或false;

18.some()方法:他返回的是true或者false;只要有一个满足了,就true;

所有的都不满足:false;

测试数组中是不是至少有一个元素通过了被提供的函数测试;

some()方法

19.reduce()接收一个函数作为累加器,最终计算为一个值 ;

        reduce:一共4个参数

        第一个参数:acc :累计器

        第二个参数:cur :当前值

        第三个参数:index:当前索引

        第四个参数:src:原数组 返回值

reduce():接收一个函数作为累加器,最终计算为一个值 ;

20.map()方法:每个元素都要进行相同的运算后得出结果;

map可以return,可以把你需要的数据变成一个新的数组返回给你;

map()方法:

21.forEach()方法:就相当于循环;

但是在回调函数里,是不可以return出一个值,但是可以使用return去终止方法的执行;

forEach循环,循环结束没有返回值,返回值为undefined;

forEach()方法:就相当于循环;

22.findIndex()方法:返回第一个符合要求的值的索引;

findIndex()方法

ps:如何计算几次方:

第一种方法:Math.pow(item,3)【第一个参数是数组值,第二个参数是几次方】;

第二种方法:item ** 3 【用**连接,数字是几,就是几次方】;==>ES6新增 次幂;

如何计算几次方

什么是伪数组:1.只有length属性的数组,2,按索引方式存储数据,3.没有数组的方法;

三种伪数组情况:1.Dom ;2.关键字arguments:用于接收一些参数 ;3.字符串;

那么我们如何判断是不是伪数组呢?:

ES6提供的方法:1.Array.isArray(变量名);

ES6之前提供的方法:1.变量名 instanceof Array;

2.更好的一种方法:object.prototype.tostring.call(变量名)。indexof(“Array”)>-1 ==>true(代表是数组)  | | false(代表不是数组);

三种伪数组情况

那么我们如何把伪数组传为数组呢?:

ES6方法1:用Array.from转为数组;

ES6方法2:用[...]拓展运算符 将伪数组转为数组;

ES5方法3:Array.prototype.slice.call(arguments);

ps:但是之前学会Set数据解构,它也是一种伪数组的形式,但是不能用这样的方法(Es5的转换数组的方法)是实现转换成真数组,因为ES5的方法比较古老,不支持;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容