数组的常用的方法

数组常用的几种方法

push:向数组的末尾增加一项 返回值是数组的新长度
unshift:向数组开头增加一项 返回值是数组的新长度
pop:删除数组的末尾项 返回值是删除的数组项
shift:删除数组开头项 返回被删除的开头项目
splice:删除数组中的任意项 返回值是被删除的数组项
slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项

拼接:
concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组 
join:把数组中的每一项 按照指定的分隔符拼接成字符串

排序:
reverse:倒序数组 返回值倒序数组 原有数组改变
sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序

兼容性不好:
indexOf:返回获取项在数组中的索引
lastIndexOf:返回获取项在数组中出现的最后一次索引
forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined

map:循环遍历数组 参数是一个匿名函数


splice的拓展使用:
模拟push   ary.splice(ary.length,0,x)
模拟pop    ary.splice(ary.length-1,1)
模拟unshift   ary.splice(0,0,x)
模拟shift     ary.splice(0,1)
splice(0) 从0开始删除到末尾==>全部删除的操作 ==>返回所有数组项 ==> 克隆数组
 
   

--------------------------------------------------------------------------------------------------------

补充对象的删除方法:(delete)

var obj = {    0: "后台",    1: "TG",    2: "AS",    3: "爬虫",    4: "用户",    8: "电竞",    9: "企鹅"};

delete obj[2]console.log(obj)// {0: "后台", 1: "TG", 3: "爬虫", 4: "用户", 8: "电竞", 9: "企鹅"}

var Employee = {
  age: 28,
  name: 'abc',
  designation: 'developer'
}

console.log(delete Employee.name);   // returns true
console.log(delete Employee.age);    // returns true

// 当试着删除一个不存在的属性时
// 同样会返回true
console.log(delete Employee.salary); // returns true

也可以用delete来删除数组

var arr = [1, 2, 3, 4, 5, 6, 7, 8]

delete arr[3];
console.log(arr)//[1, 2, 3, undefined × 1, 5, 6, 7, 8]

用delete删除,数组的长度保持不变,这里还是8


--------------------------------------------------------------------------------------------------------





主要说明一下数组截取 :

数组截取的方法主要有slice 和splice,另外说到截取我这里随便也把字符串截取带上,字符串截取的方法主要有substr 和substring

slice

语法:

arrayObject.slice(start,end)
参数 描述
start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

开始的下标是从0开始的,start包含,end不包含

当只有start,没有指定end时,会从开始一直截取到结束

slice()返回的是一个新的数组

var arr=["George","John","Thomas"]

console.log(arr.slice(1)); //["John", "Thomas"]
console.log(arr); //["George", "John", "Thomas"]


②只有起始值,并且为负,默认的是从起始位置一直到整个数组结束,此处没有起始值,数组的最后一个下标是-1,比如此例,如果从-6开始取,必定是整个数组

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1)
console.log(arr1) //[9] 只有起始参数,并且为负值,从数组尾部截取元素

④有起始值和结束值,并且为负,此处需注意下秒也是从小到大,同理,比如(-1,-6)也是肯定取不到值的,另外截取的下标个数也并不包含最后一个下标

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-6,-1)
console.log(arr1) //[2,3,5,6,8]

⑤有起始值和结束值,并且正负都有

负值到0

var arr=[2,3,5,6,8,9]
var arr1=arr.slice(-1,0)

console.log(arr1) //[ ] 从这里可以看出他的结果是为空的,所以从负值到0结果是取不到的


splice

定义和用法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

语法

arrayObject.splice(index,howmany,item1,.....,itemX)

参数 描述
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。

因为有第三个参数,可以通过splice方法在数组的指定位置添加数据,

例如 var arr=["George","John","Thomas"]

arr.splice(1,0,'hh')  

console.log(arr); ["George", "hh", "John", "Thomas"]



(3)substr 这个是字符串的用法 用法arr.substr(m,n) m必选也可以负值 n选填,注意看这个并不是结束为止而是截取的个数

示例如下:

只有一个参数 默认从此下标开始,取后面所有的

正值

var arr="sdhgfhf"
var arr1=arr.substr(1)
console.log(arr)// "sdhgfhf"这个是不变的,下面不再列举
console.log(arr1)// "dhgfhf" 从下标1开始取后面所有的 

负值

var arr="sdhgfhf"
var arr1=arr.substr(-2)
console.log(arr1)// "hf" 从下标-2开始取后面所有的 

两个参数,从第一个下标开始,截取到下标2的长度

var arr="sdhgfhf"
var arr1=arr.substr(1,3)
console.log(arr1)// "dhg" 从下标1开始取后面所有的 同理如果为负值,比如(-6,3)则为"hjf";后面的始终为长度

总结:此方法需注意不要和数组的混淆,这个是截取长度的

(4)substring  用法arr.substring(m,n) 两个参数,m必须,起始位置 ,n选填,截取下标的结束位置,此用法和上面slice有点类似,但是需要注意的是此方法是不支持负值的

示例如下:

只有一个参数

var arr="sdhgfhf"
var arr1=arr.substring(1)
console.log(arr1)//"dhgfhf"从下标1开始取后面所有的

两个参数

var arr="sdhgfhf"
var arr1=arr.substring(1,3)
console.log(arr1)// "dh"从下标1开始截取到下标3,但是不包含3

总结:此方法不支持负值,只针对下标来截取的

最后,以上主要是总结的数组的一些简单的操作方法,学无止境,继续努力。



猜你喜欢

转载自blog.csdn.net/dxj124/article/details/79423149