Array.map()
将数组中的每一个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组
1 2 3 4 5
| let arr = [1, 2, 3, 4, 5]; let newArr = arr.map(x => x*2); // arr = [1, 2, 3, 4, 5] 原数组保持不变 // newArr = [2, 4, 6, 8, 10] 返回新数组
|
Array.forEach()
将数组中的每个元素执行传进提供的函数,没有返回值
1 2 3 4 5
| let arr = [1, 2, 3, 4, 5]; arr.forEach(x => x*2); console.log(arr) // arr = [1, 2, 3, 4, 5] 数组改变,注意和map区分
|
Array.filter()
将所有元素进行判断,将满足条件的元素作为一个新的数组返回
1 2 3 4
| let arr = [1, 2, 3, 4, 5]; const isBigEnough = value => value >= 3; let newArr = arr.filter(isBigEnough); // newNum = [3, 4, 5] 满足条件的元素返回为一个新的数组
|
Array.eveny()
将所有的元素进行判断返回一个布尔值,如果所有元素都满足条件,返回true,否则返回false
1 2 3 4 5 6
| let arr = [1, 2, 3, 4, 5]; const isLessThan4 = value => value < 4; const isLessThan6 = value => value < 6; arr.every(isLessThan4); // false arr.every(isLessThan6); // true
|
Array.some()
此方法是将所有元素进行判断返回一个布尔值,如果存在元素都满足判断条件,则返回true,若所有元素都不满足判断条件,则返回false。
1 2 3 4 5 6
| let arr= [1, 2, 3, 4, 5]; const isLessThan4 = value => value < 4; const isLessThan6 = value => value > 6; arr.some(isLessThan4); // true arr.some(isLessThan6); // false
|
Array.reduce()
所有元素调用返回函数,返回值为最终结果,传入的值必需是函数类型
1 2 3 4 5 6 7
| let arr = [1, 2, 3, 4, 5]; const add = (a, b) => a + b; let sum = arr.reduce(add); // sum = 15 相当于累加的效果 // 与之相对应的还有一个 Array.reduceRight() 方法, // 区别是这个是从右向左操作的
|
Array.push()
在数组的后面添加元素,改变了数组的长度
1 2 3 4 5 6
| var str1 = [12,2,"hello"]; var str2 = [43,2,"test"]; console.log(str1.push("你好")); // 4 console.log(str2.push("hello","world")); // 5 console.log(str1); // [12, 2, "hello","你好"] console.log(str2); // [43, 2, "test","hello", "world"]
|
Array.pop()
在数组后面删除最后一位元素,并返回数组,改变了数组的长度
1 2 3 4 5
| let arr = [1, 2, 3, 4, 5]; arr.pop(); console.log(arr); // [1, 2, 3, 4] console.log(arr.length); // 4
|
Array.shift()
删除数组的第一个元素,并返回数组,改变数组的长度
1 2 3 4 5
| let arr = [1, 2, 3, 4, 5]; arr.shift(); console.log(arr); // [2, 3, 4, 5] console.log(arr.length); // 4
|
Array.unshift()
将一个或多个元素添加到数组的开头,并返回数组的长度
1 2 3 4 5 6 7
| var str1 = [12,2,"hello"]; var str2 = [43,2,"test"]; console.log(str1.unshift("你好")); // 4 console.log(str2.unshift("hello","world")); // 5 console.log(str1); // ["你好", 12, 2, "hello"] console.log(str2); // ["hello", "world", 43, 2, "test"]
|
Array.isArray()
判断一个对象是不是数组,返回是布尔值
1 2 3
| let arr = [1, 2, 3, 4, 5];
console.log(arr.isArray()); // true
|
Array.concat()
可以将多个数组拼成一个数组
1 2 3 4
| let arr1 = [1, 2, 3]; arr2 = [4, 5]; let arr = arr1.concat(arr2); console.log(arr); // [1, 2, 3, 4, 5]
|
Array.toString()
将数组转换成字符串,不会改变原数组
1 2 3
| let arr = [1, 2, 3, 4, 5]; let str = arr.toString(); console.log(str); // 1,2,3,4,5
|
Array.join()
将数组转成字符串并返回字符串数据,不会改变原来的数组
1 2 3 4 5 6 7
| let arr = [1, 2, 3, 4, 5]; let str1 = arr.join(); let str2 = arr.join(','); let str3 = arr.join('##'); console.log(str1); // 12345 console.log(str2); // 1,2,3,4,5 console.log(str3); // 1##2##3##4##5
|
Array.splice()
Array.splice(开始位置,删除的个数,元素),万能方法,可以实现增删改
1 2 3 4 5 6 7
| let arr = [1, 2, 3, 4, 5]; let arr1 = arr.splice(2, 0 'haha'); let arr2 = arr.splice(2, 3); let arr1 = arr.splice(2, 1 'haha'); console.log(arr1); // [1, 2, 'haha', 3, 4, 5] 新增一个元素 console.log(arr2); // [1, 2] 删除三个元素 console.log(arr3); // [1, 2, 'haha', 4, 5] 替换一个元素
|
Array.slice()
此方法截取指定位置的数组,并返回截取的数组,不会改变原数组。
1 2 3 4 5 6 7 8
| var arr = ["T1","J1","L1","L2","M1"]; console.log(arr.slice(1,3)); // ["J1","L1"] console.log(arr.slice(1)); // ["J1","L1","L2","M1"] console.log(arr.slice(-4,-1)); // ["J1","L1","L2"] console.log(arr.slice(-2)); // ["L2","M1"] console.log(arr.slice(1,-2)); // ["J1","L1"] console.log(arr); // ["T1","J1","L1","L2","M1"]
|
Array.reverse()
将数组的数据进行反转,并返回反转后的数组,会改变原数组
1 2 3
| var str1 = [12,2,"hello"]; console.log(str1.reverse()); // ["hello", 2, 12] console.log(str1); // ["hello", 2, 12]
|
Array.sort()
将数组内的数据进行排序,并返回排过序的新数组,会改变原来的数组
1 2 3 4 5 6 7
| var str1 = [12,2,43,5,2,5]; var str2 = [92,2,43,"hello",'zoom',5,2,5]; console.log(str1.sort()); // [12, 2, 2, 43, 5, 5] console.log(str1); // [12, 2, 2, 43, 5, 5] console.log(str2.sort()); // [2, 2, 43, 5, 5, 92, "abc", "hello", "zoom"] console.log(str2); // [2, 2, 43, 5, 5, 92, "abc", "hello", "zoom"]
|
Array.valueOf()
返回数组的原始值,一般由js在后台调用,并不显示的出现在代码中
1 2 3 4 5 6
| var str = [1,2,3]; console.log(str.valueOf()); // [1,2,3] console.log(str); // [1,2,3] // 为了证明返回的是数组自身 console.log(str.valueOf() == str); // true
|
Array.IndexOf()
此方法根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引
1 2 3 4 5 6 7
| var str = ["h","e","l","l","o"]; console.log(str.indexOf("l")); // 2 console.log(str.indexOf("l",3)); // 3 console.log(str.indexOf("l",4)); // -1 console.log(str.indexOf("l",-1)); // -1 console.log(str.indexOf("l",-3)); // 2
|
Array.includes()
用来判断一个数组是否包含一个指定的值,如果是返回true,否则返回false
1 2 3 4
| let site = ['runoob', 'google', 'taobao']; console.log(site.includes('runoob')); // true console.log(site.includes('baidu')); // false
|
Array.flat()
用来实现数据的扁平化
1 2 3 4
| let site = [1, 2, [3, 4]]; console.log(arr1.flat()); // [1, 2, 3, 4]
|