Array数组对象方法

Posted nyw1983

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Array数组对象方法相关的知识,希望对你有一定的参考价值。

Array 对象方法

方法描述
concat() 连接两个或更多的数组,并返回结果。
copyWithin() 从数组的指定位置拷贝元素到数组的另一个指定位置中。
entries() 返回数组的可迭代对象。
every() 检测数值元素的每个元素是否都符合条件。
fill() 使用一个固定值来填充数组。
filter() 检测数值元素,并返回符合条件所有元素的数组。
find() 返回符合传入测试(函数)条件的数组元素。
findIndex() 返回符合传入测试(函数)条件的数组元素索引。
forEach() 数组每个元素都执行一次回调函数。
from() 通过给定的对象中创建一个数组。
includes() 判断一个数组是否包含一个指定的值。
indexOf() 搜索数组中的元素,并返回它所在的位置。
isArray() 判断对象是否为数组。
join() 把数组的所有元素放入一个字符串。
keys() 返回数组的可迭代对象,包含原始数组的键(key)。
lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
map() 通过指定函数处理数组的每个元素,并返回处理后的数组。
pop() 删除数组的最后一个元素并返回删除的元素。
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
reduce() 将数组元素计算为一个值(从左到右)。
reduceRight() 将数组元素计算为一个值(从右到左)。
reverse() 反转数组的元素顺序。
shift() 删除并返回数组的第一个元素。
slice() 选取数组的的一部分,并返回一个新数组。
some() 检测数组元素中是否有元素符合指定条件。
sort() 对数组的元素进行排序。
splice() 从数组中添加或删除元素。
toString() 把数组转换为字符串,并返回结果。
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() 返回数组对象的原始值。

一、concat() 方法

concat() 方法用于连接两个或是多个数组,并将新的数组返回。

方法不会改变原有的数组,仅仅会返回被连接数组的一个副本。

语法:

arrayObject.concat(arrayX,arrayX,......,arrayX)

参数:

arrayX,该参数可以是具体的值,也可以是数组对象,

返回值:

返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果想要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

实例:

使用concat() 方法连接数组中的值。

var arr=["大雪","小雪","霜降","立冬","寒露"]
console.log(arr.concat("清明","秋分"));
console.log(arr);

技术图片

 使用concat() 方法连接两个数组。

var arr=["大雪","小雪","霜降","立冬","寒露"]
var arr2 =["一月","二月","三月"]
console.log(arr.concat(arr2));
console.log(arr);

技术图片

 

二、join() 方法

join() 方法用于将数组中的所有元素都放到一个字符串中。该方法可以将数组转换成一个字符串。

注意:

1、元素是指定分隔符进行分割的

2、该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回。

语法:

arrayObject.join(separator)

参数:

separator ,可选,指定要使用的分隔符,如果省略这个参数,则将默认使用逗号分隔。

返回值:

返回一个字符串。该字符串是通过吧 arrayObject 的每个元素转换为字符串,然后将这些字符串连接起来,并在两个元素中间插入 separator 字符串而生成的。

实例:

将数组中的元素放到一个字符串,将字符串使用(/)符号分隔

var arr=["大雪","小雪","霜降","立冬","寒露"]
console.log(arr.join());
console.log(arr.join(‘/‘));

技术图片

 

三、reverse() 方法

该方法用于颠倒数组中元素的顺序,用以反转数组(前面的去后面,后面的去前面);

语法:

arrayObject.reverse()

注意:

该方法会改变原来的数组,但是不会创建新的数组。

实例:

创建一个数组,改变里面的元素顺序

var arr=["大雪","小雪","霜降","立冬","寒露"]
console.log(arr.reverse());
console.log(arr);

技术图片

 

四、sort() 方法

sort() 方法用于对数组中的元素进行排序

语法:

arrayObject.sort(sortby)

参数:

sortby,可选,规定排序顺序,必须是函数

返回值:

可以对数组中的元素进行排序,也会影响原数组,默认会按照Unicode 编码进行排序。

注释:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,更准确的说是按照 Unicode字符编码的顺序进行排序。

即使对于纯数字的数组,使用 sort() 排序时,也会按照 Unicode 编码排序,所以对数字进行排序时有可能得到错误的结果。

如果想实现这一点,首先应该把数组的元素都转换成字符串(如果有必要),以便进行比较。

如果想按照其他标准进行排序,就需要在 sort() 里面添加一个回调函数,回调函数中需要两个形参(a 和 b),浏览器将会分别使用数组中的元素作为实参去调用回调函数。其返回值如下:

使用哪个元素调用不确定,但是肯定的是在数组中 a 一定是在 b 前面。浏览器会根据回调函数的返回值来决定元素的顺序。

如果 a 小于 b,在排序后的数组中 a 应该出现在 b之前,则返回一个小于 0 的值。

如果 a 等于 b,则返回 0;

如果 a 大于 b,则返回一个大于 0的值。

  如果返回一个大于0的值,则元素就会交换位置;如果返回一个小于0的值,则元素位置不变;

实例:(a 和 b会使用哪个元素调用不确定,但是肯定的是在数组中 a一定在 b前面)

var aa=[3,4,3,5];
aa.sort(function(a,b){
console.log(‘a= ‘+a);
console.log(‘b= ‘+b);
});
console.log(aa);

技术图片

 实例:

创建一个数组,并按照字母顺序进行排序

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"
console.log(arr);
console.log(arr.sort());

 技术图片

 按照数字的顺序返回数组:

var arr=[1,2,31,75,32,0,1];
console.log(arr.sort());

技术图片

注意:上面的代码没有按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数  sortNember

<script type="text/javascript">
function sortNumber(a,b){
    return a - b
}
var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"
console.log(arr)
console.log(arr.sort(sortNumber))
</script>

技术图片

 

 

 五、push() 方法

push()  方法可以向数组末尾添加一个或是多个元素,并返回数组新的长度

可以将要添加的元素作为方法的参数传递,这样这些元素会自动添加到数组的末尾。

语法:

arrayObject.push(newelement1,newelement2,....,newelementX)

参数:

newelement1 必需。要添加到数组的第一个元素。

newelement2 可选。要添加到数组的第二个元素。

newelementX 可选。可添加多个元素。 

返回值:

把指定的值添加到数组后的新长度。

注意:

1、push()方法可以把它的参数添加到 arrayObject 的尾部。直接修改 arrayObject,而不是创建一个新的数组。push()方法和 pop()方法使用数组中提供的先进后出栈的功能

2、该方法会改变原有数组的长度;

3、如果想在数组的开头添加一个或是多个元素,可以使用 unshift() 方法。

实例:

通过 push() 方法在数组尾部添加元素,并且返回数组的长度;

var arr = ["大雪","小雪","霜降"]
var result = arr.push(‘冬至‘);
console.log(arr);
console.log("result = " +result);

技术图片

 

六、pop() 方法

该方法可以删除并返回数组中的最后一个元素。

语法:

arrayObject.pop()

返回值:

数组对象的最后一个元素

注意:

pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经是个空数组,则 pop() 不该变数组,并且返回 undefined值。

实例:

删除数组中的最后一个元素。

var arr = ["大雪", "小雪", "霜降", "冬至"]
var result = arr.pop();
console.log(arr);
console.log("result = " +result);

技术图片

 当数组是空数组没有元素可以删除的时候,就会返回 undefined

技术图片

 

七、unshift() 方法

该方法可以向数组开头添加一个或者是多个元素,并且返回新的数组长度。

语法:

arrayObject.unshift(newelement1,newelement2,....,newelementX)

参数:

newelement1 必需。要添加到数组的第一个元素。

newelement2 可选。要添加到数组的第二个元素。

newelementX 可选。可添加多个元素。 

返回值:

数组对象的新长度;

注意:

1、unshift() 方法将它的参数插入到 arrayObject 的头部,并将已经存在的元素顺次地一到较高的下标处,以便留出空间。

在前面插入元素之后,其他元素的索引会依次调整;

2、unshift() 方法不创建新的元素,而是直接修改原有的数组。该方法会改变数组的原有长度;

3、该方法在IE浏览器中无法正常使用。

实例:

var arr = ["大雪","小雪","霜降"]
var result = arr.unshift(‘冬至‘);
console.log(arr);
console.log("result = " +result);

技术图片

 

八、shift() 方法

shift() 方法用于把数组中的第一个元素从中删除,并且返回第一个元素的值。

语法:

arrayObject.shift()

返回值:

数组原来第一个元素的值;

注意:

1、如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。

2、该方法不创建新的数组,而是直接修改原有的 arrayObject。会改变原有数组的长度。

var arr = ["大雪","小雪","霜降","冬至"]
var result = arr.shift();
console.log(arr);
console.log("result = " +result);

技术图片

 

 

以上是关于Array数组对象方法的主要内容,如果未能解决你的问题,请参考以下文章

怎么把json字符串转成数组对象

java中把json怎么转换成数组

javascript常用代码片段

怎么将json对象添加进json数组中

为什么我不能在此片段中生成唯一对象数组?

阮一峰老师的JavaScript标准参考教程:数组Array对象和Array对象方法