数组属性及方法整理

错误之处,欢迎指正,持续更新中。


1. 方法

1. reverse

让数组逆序排序,会改变原数组。

const arr = [1, 2, 3, 4, 5];
console.log(arr);  //[ 1, 2, 3, 4, 5 ]
const reverseArr = arr.reverse();
console.log(arr);  //[ 5, 4, 3, 2, 1 ]
console.log(reverseArr);   //[ 5, 4, 3, 2, 1 ]

2. toString

将一个数组转换成字符串,不会改变原数组。

const arr = [1, 2, 3, 4, 5];
console.log(arr);     //[ 1, 2, 3, 4, 5 ]
const string = arr.toString();
console.log(arr);     //[ 1, 2, 3, 4, 5 ]
console.log(string);  //1,2,3,4,5

3. slice

截取数组,不会改变原数组。

const arr = ["a", "b", 1, 2, 3, 4, 5];
console.log(arr);     //["a", "b", 1, 2, 3, 4, 5]
const newArr = arr.slice(2, 7);
console.log(arr);     //["a", "b", 1, 2, 3, 4, 5]
console.log(newArr);  //[ 1, 2, 3, 4, 5 ]

关于slice方法的参数(以上述为例):
arr.slice(2,7)就是截取数组arrarr[2]arr[6]
如果只填写一个参数arr.slice(2),就是截取数组arrarr[2]arr[length-1]

4. pushpop

push方法可以用来在数组末尾添加一个或者多个元素,返回值为数组长度。
pop方法可以用来删除数组的最后一个元素,返回值为被删除的元素。

var a =['a','b','c','d'];
console.log(a.push('e'));  //5
console.log(a);  //["a", "b", "c", "d", "e"]
console.log(a.pop());  //e
console.log(a);  //["a", "b", "c", "d"]

5. join

将数组转换成字符串,并以指定字符相连(默认为,)。

const arr = [1, 2, 3, 4, 5];
const newString = arr.join('-');
console.log(arr);   //[1,2,3,4,5]
console.log(newArr);//1-2-3-4-5

6. indexOf

用来判断数组中是否包含目标值。

const arr = [1, 2, 3, 4, 5];
console.log(arr.indexOf(5)); //4
console.log(arr.indexOf(6)); //-1

如果数组中包含目标数值,返回的是目标数值在数组中的索引值;如果不包含返回-1

7. map

const arr = [1,2,3,4,5];
const newArr = arr.map((item) => {
    return item;
})
console.log(arr);      //[1,2,3,4,5]
console.log(newArr);   //[1,2,3,4,5]
console.log(arr === newArr);  //控制台输出为false

不会改变原有数组,不光可以使用map来映射一个数组中的值,还可用来进行一些进阶操作,例如:

const arr = [1,2,3,4,5];
const newArr = arr.map((item) => {
    return item * 10;
})
console.log(arr);      //[1,2,3,4,5]
console.log(newArr);   //[10,20,30,40,50]

8. filter

不会改变原数组,一般用来过滤数组中的某些项。

const arr = [1,2,3,4,5];
const newArr = arr.filter((item) => {
    return item > 2;
})
console.log(arr);      //[1,2,3,4,5]
console.log(newArr);   //[3,4,5]

9. includes(ES6)

用来判断数组中是否包含目标值。

const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(5)); //true
console.log(arr.includes(6)); //false

如果数组中包含目标数值返回true;如果不包含返回false

10. find(ES6)

const arr = [1, 2, 3, 4, 5];
const found = arr.find(element => element > 2);
console.log(arr);   //[1,2,3,4,5]
console.log(found); //3

find方法返回数组中满足条件的第一个元素的值,例如上述的条件就是值大于2,所以返回了3;如果没有满足条件的项,返回undefined

11. forEach

const arr = [1, 2, 3, 4, 5];
const newArr = [];
arr.forEach(element => {
    newArr.push(element * 10)
});
console.log(arr);   //[1,2,3,4,5]
console.log(newArr); //[10,20,30,40,50]

forEach方法对指定数组的每个元素执行一次给定的函数,例如上述就是把arr数组里面每个值乘10,然后pushnewArr数组里。

12. fill(ES6)

将数组的每一项填充为给定的值。

const arr = new Array(100); //创建一个长度为100的数组
arr.fill('chris');

13. concat

用于合并两个或多个数组,不会改变原数组。

const arr1 = [1,2,3,4,5];
const arr2 = ['a','c'];
const newArr = arr1.concat(arr2);
console.log(arr1);  //[1,2,3,4,5]
console.log(arr2);  //['a','c']
console.log(newArr);//[1,2,3,4,5,'a','c']

2. 属性

1. length

返回数组的长度。

const arr = [1, 2, 3, 4, 5];
console.log(arr.length);  //5
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容