数组的常用的方法

数组常用的几种方法

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

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

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

 data.sort(function(a, b) {
        return Date.parse(a.MatchDate.replace(/\-/g, '/')) - Date.parse(b.MatchDate.replace(/\-/g, '/')); //兼容iso下的问题
    });

根据data里面的MatchDate时间来排序,按照从小到大排序

Math.abs:让数字由负数变成正数

Math.max,Math.min:取数字的最大值,最小值,可以改写变成取数组的最大,最小值

   // 最大值
       Array.max = function(array) {
           return Math.max.apply(Math, array);
       };

   // 最小值
       Array.min = function(array) {
            return Math.min.apply(Math, array);
       };


    Array.max([4,3,2,5,7,1])
    Array.min([4,3,2,5,7,1])

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

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

reduce():计算数组元素相加后的总和;

var arr = [2, 4, 1, 5];
arr.reduce(function(x,y){
      return  x+y
})

//输出结果:12

 

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

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

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值