JS语言——针对数组进行的一些总结
一、增
① push():向数组的末尾添加一个或更多元素,并返回新的长度。
② unshift():向数组的开头添加a元素,并返回添加后的数组长度
③ concat():连接两个或更多的数组,并返回结果。
④ splice(idx,0, v1,v2….): 从数组的idx下标开始添加v1,v2个元素。 splice()功能十分强大,可以通过改变输入的参数来实现对数组的增、删和替换。原理就是在规定的起始位置a,删除b个,如果后面需要塞进去新元素就加到cd…的位置,如果不加就是删除了,splice实质上是通过删除元素来实现插入、删除、替换的
二、删
① pop() 删除最后一个元素,返回值就是这一个元素;与push()方法配合使用可以构成后进先出的栈
② shift(): 删除第一个元素,返回值就是这一个元素;与push()方法配合使用可以构成先进先出的队列
③ splice(idx,n):从idx位置截取n个元素
④.slice(n,m):类似于concat()一样是返回一个新数组,表示取数组n到m下标的元素组成一个新数组,不会对原数组有修改,
slice(n); 表示从数组n下标开始已知取到数组结束, 不会对原数组有修改,
三、改
① toString():将数组改为字符串,返回值是得到的字符串,不会对原数组进行修改。
② sort():将数组按照第一个字节数排序
③ sort((a,b)=>{return a-b}):升序排序
④reverse() :颠倒数组中元素的顺序
四、查
① indexOf(value):从数组0下标开始查找value,返回值是value的下标
lastIndexOf()::从数组末尾下标开始查找value,返回值是value的下标;
② forEach():遍历整个数组,不中断,可以传入三个值,分别是(当前元素,索引index,原数组)
③map() :map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变;可以传入三个值,分别是(当前元素,索引index,原数组)
④ map()和forEach()的区别:
相同点:
1、都是只能遍历数组
2、都有三个返回值(当前元素,索引index,原数组)
3、都是循环遍历数组每一项
区别是:
1、map,有返回值,可以return出来
2、forEach,没有返回值。forEach()返回值是undefined,不可以链式调用。
3、没有办法终止或者跳出forEach()循环,除非抛出异常,所以想执行一个数组是否满足什么条件,返回布尔值,可以用一般的for循环实现,或者用Array.every()或者Array.some();
⑤ filter():返回数组中满足条件的元素组成的新数组,原数组不变(筛选,过滤)
⑥every() :当数组每一项都满足条件时,返回true,,否则flase,
⑦some():当数组有一项满足条件时,返回true,
五、数组和字符串的互换
①join()将数组中所有元素放到一个字符串中,并用指定的分隔符进行分割
②split():将字符串以指定的分隔符分割成数组
六、遍历数组
① forEach() 遍历普通数组
② map() 方法
map即是 “映射”的意思 ,原数组被“映射”成对应新数组
③ 扩展运算符 … :只有函数调用时,将一个数组转为用逗号分隔的参数序列。
④ .filter() 过滤循环
filter 方法用于过滤数组成员,满足条件的成员组成一个新数组返回。它的参数是一个函数,所有数组成员依次执行该函数,返回结果为true的成员组成一个新数组返回。该方法不会改变原数组。
filter() 方法的参数函数也可以接受三个参数:当前成员,当前位置和整个数组。
⑤ some(),every() 循环遍历,统计数组是否满足某个条件
它们接受一个函数作为参数 ,所有数组成员依次执行该函数。
该函数接受三个参数:当前成员、当前位置和整个数组,然后返回一个布尔值。
some() 方法是只要一个成员的返回值是true,则整个some方法的返回值就是true,否则返回false。即有真则真
every() 方法则相反,所有成员的返回值都是true,整个every方法才返回true,否则返回false即有假则假
⑥ reduce(),reduceRight() 方法可依次处理数组的每个成员,最终累计为一个值
reduce():从左到右处理(从第一个成员到最后一个成员)
reduceRight():从右到左处理(从第一个成员到最后一个成员)
第一个参数为一个函数,而这个函数接受4个参数分别是:
1、累积变量,默认为数组的第一个成员
2、当前变量,默认为数组的第二个成员
3、当前位置(从0开始)
4、原数组
第二个参数为累加的初值
应用:找出字符长度最长的数组成员。
⑦Object,keys() 和 Object.getOwnPropertyNames()
Object.keys方法的参数是一个对象,返回一个数组。该数组的成员都是该对象自身的(而不是继承的)所有属性名,且只返回可枚举的属性。而Object.getOwnPropertyNames() 能返回不可枚举的属性,如length
这是目前能用到的一些JS对于数组的一些功能函数,如有大佬补充可以使劲评论!~~2020年7月28日1时11分