javascript(js)中对于数组操作的方法

想要知道如何操作数组就给先知道怎么创建数组

1.var myArray=new Array();   //声明一个没指定长度的数组  如果要指定长度在括号里加上长度就ok了 var myArray=new Array(5);

2.var myArray= new Array("abc",1,2,3); //创建一个有默认值的数组

3.var myArray= ["abc",1,2,3];  //创建一个数组并赋值的简写


简单废话了一下如何创建后就来说一下如何操作数组,这里我分两类来说明这些方法

(一)使用这些方法会改变调用它们自身的值

1.Array.copyWithin()//在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值  这个方法兼容性不好不要在生产环境使用

2.Array.fill()  //将数组中指定区间的所有元素的值,都替换城某个固定的值   这个方法的兼容性不好不要在生产环境中使用

3.Array.pop()//删除数组的最后一个元素,并返回这个元素

4.Array.push()//在数组的末尾增加一个或者多个元素,并返回数组的新长度

5.Array.reverse()//颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个

6.Array.shift()//删除数组的第一个元素,并返回这个元素

7.Array.sort()//对数组元素进行排序,并返回当前数组

8.Array.splice()//在任意位置给数组添加或者删除任意个元素

9.Array.unshift()//在数组的开头增加一个或者多个元素,并返回数组的新长度

(二)使用这些方法绝不会改变调用它们的值,只会返回一个新的数组或者返回一个其他的期望值

  1.Array.concat()//返回一个由当前数组和其他若干个数组或者若干个非数组值组合而成的新数组

2.Array.includes()//判断当前数组是否包含某指定的值,如果是返回true,否则返回false

3.Array.join()//连接所有数组元素组成一个字符串

4.Array.slice()//抽取当前数组中的一段元素组合城一个新数组。

5.Array.indexOf()//返回数组中第一个与指定值相等的元素的索引,如果找不到这样的元素,则返回-1

6.Array.lastIndexOf()//返回数组中最后一个(从右边数第一个)与指定值相等的元素的索引,如果找不到这样的元素,则返回-1

7.Array.toString()//返回一个由所有数组元素组成而合成的字符串。遮蔽了原型链上的Object.prototype.toString()方法

8.Array.toLocaleString()//返回一个由所有数组元素组合而成的本地化后的字符串。遮蔽了原型链上的Objcet.prototype.toLocaleString()方法

在日常工作中除了操作数组之外最常用的就是遍历数组获取到数组中的数据,这里引用阮大佬ES6中的一段话:

JavaScript 原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6 又添加了MapSet。这样就有了四种数据集合,用户还可以组合使用它们,定义自己的数据结构,比如数组的成员是MapMap的成员是对象。这样就需要一种统一的接口机制,来处理所有不同的数据结构。

遍历器(Iterator)就是这样一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。

Iterator 的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是 ES6 创造了一种新的遍历命令for...of循环,Iterator 接口主要供for...of消费。

通常我们用for(var i=0;i<arr.length;i++){ .........}或者用for(var index in arr){......}来循环数组解析数据但是在ES6中提供了Iterator(遍历器)

Iterator方法:

1.Array.forEach()//为数组中的每个元素执行一次回调函数

2.Array.entries()//返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对

3.Array.every()//如果数组中的每个元素都满足测试函数,则返回true,否则返回false

4.Array.some()//如果数组中至少由一个元素满足测试函数,则返回true,否则返回false

5.Array.filter()//将所有在过滤函数中返回true的数组元素放进一个新数组中并返回。

6.Array.find()//找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回undefined

7.Array.findIndex()//找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回-1

8.Array.keys()//返回一个数组迭代器对象,该迭代器对象会包含所有数组元素的键

9.Array.map()//返回一个由回调函数的返回值组成的新数组

10.Array.reduce()//从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

11.Array.reduceRight()//从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

12.Array.values()//返回一个数组迭代器对象,该迭代器会包含所有数组元素的值。


以上方法内容都不提供实例,需要使用到那些可以自己去百度查API,API上的示例更容易看懂。虽然这些东西都是基本的人人都会的处于对自己知识体系的负责还是要给自己整理一下

猜你喜欢

转载自blog.csdn.net/nb_666/article/details/78835626