javaScript之数组常规用法
2021-07-18 本文已影响0人
骑码走天涯
1.unshift:将参数添加到原数组开头,并返回数组的长度。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr1.unshift(-1,0))
(3).结果
a:arr[-1,0,1,2,3,4,5] b:6
2.push:将参数添加到原数组末尾,并返回数组的长度。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr1.push(6,7))
(3).结果
a:arr[1,2,3,4,5,6,7] b:6
3.shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.shift())
(3).结果
a:arr[2,3,4,5] b:1
4.pop:删除原数组尾一项,并返回删除元素的值;如果数组为空则返回undefined。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr1.pop())
(3).结果
a:arr[1,2,3,4] b:3
5.数组合并concat,返回一个新数组,是将参数添加到原数组中构成的。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.concat(6,7))
(3).结果
a:arr[1,2,3,4,5] b:arr[1,2,3,4,5,6,7]
6.slice(start,end) 数组截取 返回从原数组中指定开始下标到结束下标之间的项组成的新数组,但不包括结束位置的项。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.slice(2,5))
console.log(arr.slice(2))
(3).结果
arr[3,4,5]
arr[3,4,5]
7.join(separator) 数组拼接成字符串,将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符。
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
result = arr.join("|")
(3).结果
a:arr[1,2,3,4,5] b:"1|2|3|4|5"
8.splice(start,deleteCount,val1,val2,...),从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
(1).定义数据
var arr = [1,2,3,4,5]
(2).使用方法
console.log(arr.splice(2,2,7,8,9))
(3).结果
a:arr[1,2,7,8,9,5] b:arr[3,4] 截取第2个后,第3个推上去截取,在截取的地方插入val
9.数组去重
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
Array.from(new Set(plants));
[...new Set(plants)];
(3).结果
["javaScript", "style", "php", "java", "html", "mysql", "spring", "python"]
10.删除数组中的假值
(1).定义数据
var plants = ['javaScript', 'style', 'php', null, undefined, false, "", NaN, 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants.filter(Boolean);
(3).结果
["javaScript", "style", "php", "java", "html", "style", "mysql", "spring", "javaScript", "python"]
11.获取数组中的随机值
(1).定义数据
var plants = ["javaScript", "style", "php", "java", "html", "mysql", "spring", "python"]
(2).使用方法
plants[Math.floor(Math.random() * (plants.length + 1))];
(3).结果
javaScript;
12.数组合并
(1).定义数据
var plants1 = ["javaScript", "style", "php", "java", "html", "mysql", "spring", "python"]
var plants2 = ["javaScript", "style", "vue", "java", "html", "react", "spring", "node"]
(2).使用方法
plants1.concat(plants2)
[...plants1,...plants2]
Array.from([...plants1,...plants2])
(3).结果
["javaScript", "style", "php", "java", "html", "mysql", "spring", "python", "javaScript", "style", "vue", "java", "html", "react", "spring", "node"]
13.数据填充数组
(1).定义数据
var plants = new Array(9).fill('9');
(2).使用方法
fill;
(3).结果
['9', '9', '9','9', '9', '9','9', '9','9'];
14.清空数组
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants = [];
plants.length = 0;
(3).结果
[];
15.数组转换对象
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript'];
(2).使用方法
var plantsObj = {...plants }
(3).结果
{0: "javaScript", 1: "style", 2: "php", 3: "java", 4: "html", 5: "style", 6: "mysql", 7: "spring", 8: "javaScript"}
16.数组的所有值相加
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants.reduce((x, y) => x + y)
(3).结果
45;
17.数组元素最后一次出现的索引
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'javaScript', 'python'];
(2).使用方法
plants.lastIndexOf('java')
(3).结果
3;
18.替换数组中的指定值
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'style', 'mysql', 'spring', 'python'];
(2).使用方法(splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。特别需要注意插入值的位置!)
var result = plants.splice(2, 1, 'vue')
(3).结果
console.log(plants); // ["javaScript", "style", "vue", "java", "html", "style", "mysql", "spring", "python"]
console.log(result); // ["php"]
19.没有map()的映射数组
(1).定义数据
var plants = [{name: "javaScript"},{name: "react"}, {name: "vue"},]
(2).使用方法
var plantsName = Array.from(plants, ({name}) => name);
(3).结果
["javaScript", "react", "vue"]
20.数组排序之字符串升降序
(1).定义数据
var plants = ['javaScript', 'style', 'php', 'java', 'html', 'mysql', 'spring', 'python'];
(2).使用方法
plants.sort() //升序
plants.reverse() //降序
(3).结果
["html", "java", "javaScript", "mysql", "php", "python", "spring", "style"]
["python", "spring", "mysql", "html", "java", "php", "style", "javaScript"]
21.数组排序之数字升降序
(1).定义数据
var points = [40, 100, 1, 5, 25, 10];
(2).使用方法
points.sort(function (a, b) {return b - a}) //es5写法
points.reverse(function (a, b) {return b - a}) //es5写法
points.sort((a, b) => a - b) //es6写法
points.reverse((a, b) => a - b) //es6写法
(3).结果
[100, 40, 25, 10, 5, 1]
[1, 5, 10, 25, 40, 100]
[1, 5, 10, 25, 40, 100]
[100, 40, 25, 10, 5, 1]