JS中的数组

xiaoxiao2021-02-28  95

一、数组的声明及遍历

1.数组的声明

var a=[1,"a","zer0",9]; var b = new Array(1,"a",3); console.log(a);//[1,"a","zer0",9] console.log(b);//[1,"a",3]

2.数组的遍历

var arr = new Array(1,"a",3); for (var i =0;i< arr.length;i++) { console.log(arr[i]);// 1,1,3 }

二、操作数组的常用方法

1.添加数组元素 (1).push() 后面推进去 push()方法向数组的末尾添加一个或多个元素,并返回新的长度

var arr =[1,2,3] arr.push(7); console.log(arr); //[1,2,3,7]

(2).unshift() 从数组的前面放入 unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度

var arr =[1,"a",6,3] arr.unshift("Z"); console.log(arr); //["Z",1,"a",6,3]

2.删除数组元素 (1).pop() 删除最后一个元素

var arr =[1,"a",6,3] arr.pop(); console.log(arr); //[1,"a",6]

(2).shift() 删除第一个元素

var arr =[1,"a",6,3] arr.shift(); console.log(arr); //["a",6,3]

3.连接两个数组 concat()该方法用于连接两个或多个数组。它不会改变现有的数组,而仅仅会返回被连接数组的一个副本

var arr =[1,"a",6,3] var b=["a","b"]; var c = arr.concat(b); console.log(c); //[1,"a",6,3,"a","b"]

4.从已有的数组中返回选定的元素 slice()方法基于当前数组中的一或多个项创建一个新数组。 slice()方法可以接收一或两个参数,即要返回的起始和结束位置。 arrayObject.slice(start,end) start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 返回值 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。 */

注意:在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。 有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项.slice()方法不会影响原始数组。

var arr =[1,"a",6,3,"green","black"] //在只有一个参数的情况下 var newArr = arr.slice(0); console.log(newArr);//[1,"a",6,3,"green","black"] // 参数有两个的情况下 var newArr1 = arr.slice(2,4); console.log(newArr1); //[6,3]

5.从数组中添加/删除项目,然后返回被删除的项目。 splice()的主要用途是向数组的中部插入项。注释:该方法会改变原始数组。 arrayObject.splice(index,howmany,item1,…..,itemX) index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 item1, …, itemX 可选。向数组添加的新项目。 使用方法: (1).删除:可以删除任意数量的项,只需指定2个参数:要删除的第一项的位置和要删除的项数. 列如:splice(0,2)会删除数组中的前两项.

var arr =[1,"a",6,3,"green","black"] var newArr = arr.slice(0); newArr.splice(0,2); console.log(newArr);//[6,3,"green","black"]

(2)插入:可以向指定位置插入任意数量的项,只需要提供3个参数:起始位置,0(要删除的项数)和要插入的项. 如何要插入多个项,可以再传入第四,第五,以至任意多个项.

// 从当前数组的位置3(从0开始)开始插入两项"哈","加2项"。 参数0表示不删除 newArr.splice(3,0,"哈","加2项"); console.log(newArr);//[1,"a",6,"哈","加2项",3,"green","black"]

(3).替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需要提供3个参数:起始位置,要删除的项数和要插入的任意数量的项. 插入的项数不必和和删除的项数相等。

//会删除当前数组位置2的项,然后再从位置2开始插入字符串"哈""删2位置" newArr.splice(2,1,"哈","删2位置"); console.log(newArr);//[1,"a","哈","删2位置",3,"green","black"]

*注:插入和替换方式相同,不同点就在于第2参数,为0表示插入不删除,大于0表示要删除的数量 splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项(如果没有删除任何项,则会返回一个空数组).*

6.位置方法 1)indexOf():从数组的开头(位置0,即索引号都是从0开始的) 开始向后查找,可返回某个指定的字符串值在字符串中首次出现的位置,返回的是个数值。

var arr =[1,"a",3,"green","black"] // 返回"a"在数组中的位置,参数1代表开始检索的位置 var a = arr.indexOf("a",1); console.log(a);//1

2)lastIndexOf():从数组的末尾开始向前查找

var arr =[1,"a",3,"green","black"] var a = arr.lastIndexOf(3); console.log(a);//2

*注意: 这两个方法都返回查找的项在数组中的位置,或者在没找到的情况下返回-1. 在比较第一个参数与数组中的每一项时,会使用全等操作符,也就是说,要求查找的项必须严格相等* 7.数组排序 (1).将数组反序 reverse() var a = [1,2,3,4,5]; var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1] (2).对数组进行排序 sort() var a = [1,2,3,4,5]; var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5] 8.把数组转化为字符串 join() join()将数组各个元素是通过指定的分隔符进行连接成为一个字符串。 arrayObject.join(separator) 数组名.join(符号):数组转换为字符串 参数 separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

var arr =[1,2,3] var a = arr.join("-") console.log(a);//字符串:1-2-3 var b = arr.join(); console.log(b);//默认用,分割 字符串: 1,2,3

8.把字符串转换为数组 split() split() 方法用于把一个字符串分割成字符串数组 stringObject.split(separator,howmany) 参数 separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 howmany 可选。该参数可指定返回的数组的最大长度

var txt = "1-2-3"; var a = txt.split("-"); console.log(a);//["1","2","3"] var b = txt.split(""); console.log(b);//["1",”-”,"2",”-”,"3"]
转载请注明原文地址: https://www.6miu.com/read-56524.html

最新回复(0)