JavaScript中数组的基础知识和相关方法 (2)

例: let a = ["Bill","Mary","Lucy"]; let b = [21,24,27]; let c = [a,b];//这里c就是一个多维数组 1.访问: let a = ["Bill","Mary","Lucy"]; let b = [21,24,27]; let c = [a,b]; console.log(c[0][2]);//Lucy 2.解构 let arr = [[1,2,3],4,5]; let [a,b,c] = arr; console.log(a);//[1,2,3] console.log(b);//4 console.log(c);//5

扩展运算符

ES6开始新增的运算符,用于去除刻碟带对象的每一项。 1.例: let a = ["Bill","Mary","Lucy"]; let b = [21,24,27]; let c = [...a,...b]; console.log(c); //[ \'Bill\', \'Mary\', \'Lucy\', 21, 24, 27 ] 2.字符串转化为数组 例: let str = "Hello"; let arr = [...str]; console.log(arr); //[ \'H\', \'e\', \'l\', \'l\', \'o\' ]

数组属性

相关属性

length:返回数组元素的个数

例: let arr = [1,2,3,4,5]; console.log(arr.length);//5

数组的相关方法

1.添加删除 数组像栈一样。 栈是一种LIFO(Last-In-First-Out)数组解构,这种数据结构特点是后进先出。

例:

let arr = []; let i = arr.push("red","blue");

//push

在数组后面插入括号中内容,内容可以用,隔开,插入多个。 console.log(arr);

//[ \'red\', \'blue\' ] console.log(i);

//2 let j = arr.pop();

//pop从数组最后开始删除 console.log(arr);

//[ \'red\' ] console.log(j);

//blue let arr = []; arr.push("red","green","pink") let item = arr.shift();

//shift从数组前面删除 console.log(item);//red console.log(arr);

//[ \'green\', \'pink\' ] let arr = []; arr.unshift("red","green","pink");

//unshift从数组前面开始添加 let item = arr.pop(); console.log(item);

//pink console.log(arr);

//[ \'red\', \'green\' ]

2.操作方法

1concat():先船舰当前数组的一个副本,然后将接收到的参数添加到副本的末尾,最后返回新构建的数组,但原来的数组不会变化

例: let arr = [1,2,3]; let arr2 = arr.concat("red","blue"); console.log(arr);//[ 1, 2, 3 ] console.log(arr2);//[ 1, 2, 3, \'red\', \'blue\' ] 2slice():它可以接受一个或者两个参数,代表返回项的起始和结束位置。 一个参数:代表起始位置,返回从指定的起始位置到数组末尾的所有项目 两个参数:代表从指定的起始位置到指定的末尾位置的项,但不包括结束位置的项目。

注:slice()方法不会影响原始数组

例: let arr = [1,2,3,4,5,6,7,8,9,10];

//一个参数

let i = arr.slice(3);

console.log(i);

//[ 4, 5, 6, 7, 8, 9, 10 ]

console.log(arr);

//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

//两个参数

let j = arr.slice(2,6);

console.log(j);

//[ 3, 4, 5, 6 ]

console.log(arr);

//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]

注:如果传入的是负数,用数组的长度加上该数来确定相应的位置 3splice():它可以实现三种类型操作,删除插入和替换 ——删除

例: let arr = [1,2,3,4,5,6,7,8,9,10];

//从下标为3的元素开始删除,删除5个元素 //将删除的元素返回给i let i = arr.splice(3,5); console.log(i);

//[ 4, 5, 6, 7, 8 ] console.log(arr);

//[ 1, 2, 3, 9, 10 ] ——插入

例: let arr = [1,2,3,4,5,6,7,8,9,10];

//从下标为3的元素之前开始插入

let i = arr.splice(3,0,"red","blue");

console.log(i);

//[] console.log(arr);

//[ 1, 2, 3, \'red\', \'blue\', 4, 5, 6, 7, 8, 9, 10 ] ——替换

例: let arr = [1,2,3,4,5,6,7,8,9,10];

//从下标为3的元素之前开始插入

//插入多少,就刚好删除多少

let i = arr.splice(3,2,"red","blue");

console.log(i);

//[ 4, 5 ] console.log(arr);

//[ 1, 2, 3, \'red\', \'blue\', 6, 7, 8, 9, 10 ]

4join():将数组转为字符串,可以传入分隔符作为参数

例: let arr = [1,2,3];

let str = arr.join("");

console.log(str);

//123 let str2 = arr.join(","); console.log(str2);

//1,2,3

5split():将字符串转为数组,传入参数指明以什么作为分隔符 let str = "Hello";

let arr = str.split("");

console.log(arr);

//[ \'H\', \'e\', \'l\', \'l\', \'o\' ] let arr2 = str.split("l");

console.log(arr2);

//[ \'He\', \'\', \'o\' ]

3、数组重排序方法

重排序涉及到两个方法:reverse()strt()

reverse。:反转数组项的顺序,注意使用该方法时会改变原来数组的顺序,而不是返回一个副本

let arr = [1,2,3,4,5];

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

strt():按照升序排列数组每一项

let arr = [-6,-1,-12,1,9,47,3,45];

console.log(arr.sort(function(a,b){

return a - b;

}));

最后需要注意的是,reverse。和sort。方法,返回值是经过排序之后的数组

ECMAScript还为数组提供了两个位置方法:indexOf。和lastlndexOf

这两个方法都接收两个参数:要查找的项目和查找的起点位置索引。区别在于一个是从数组开头

开始找,一个是从数组末尾开始找。如果没找到就返回-1

let arr = ["H","e","l","l","o"];

console.log(arr.indexOf("l"));//2 console.log(arr.lastIndexOf("l"));//3 console.log(arr.indexOf("z"));//-1

这两个方法进行查找时使用的是全等进行比较

includes():用于查看数组里面是否包含某个元素,包含返回true,否则返回false

let arr = ["1","2","3"];

console.log(arr.includes(2));//flase

console.log(arr.includes("2"));//true

console.log(arr.includes(7));//false

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwffdp.html