前端 操做數組

數組的操做

經常使用方法

push數組

  • 向數組末尾增長項code

  • 返回數組新長度排序

  • 直接改變原數組索引

  • 其餘實現方法:ary[ary.length]=1字符串

popit

  • 刪除數組最後一項io

  • 返回被刪除項console

  • 直接改變原數組function

  • 其餘實現方法:ary.length--遍歷

shift

  • 刪除數組第一項

  • 返回被刪除的那一項

  • 直接改變原數組

unshift

  • 向數組開頭增長項

  • 返回數組新長度

  • 原數組改變

splice

  • splice(n,m)從索引n開始,刪除m個元素

  • splice(n)從索引n開始,刪除到數組末尾

  • ary.splice(ary.length-1,0)==ary.pop()

  • splice(n,m,x)從索引n開始刪除m個,用x替換刪除項

  • splice(n,0,x)從索引n開始,刪除0個(不刪除),把x增長到n的前面

  • ary.splice(ary.length,0,x)==ary.push(x)

slice

  • slice(n,m)從索引n開始截取到m-1處

  • slice(0) 至關於賦值數組

concat 拼接

toString 轉化爲字符串

join(',') 按照固定符號把數組拆分

reverse 倒序數組

sort 排序數組(10之內)

  • sort(function(a,b){ return a-b })有小到大排序

  • sort(function(a,b){ return b-a })有大到小排序

forEach 遍歷數組

var ary = [1, 2, 3];
ary.forEach( function ( item , index ) {} )

更好用的方法

例: var arr=[{name:1},{name:2},{name:3},{name:4}];

  • 注意:還須要處理低版本IE的朋友請忽略如下方法

增 push

arr.push({name:5});
console.log(arr);//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 }, { name: 5 } ]
  • 直接改變原數組

刪(過濾) filter

var res=arr.filter(function (item, index) {
    return item.name!==1//過濾掉name爲1的那一項
});
console.log(arr)//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 } ]
console.log(res)//[ { name: 2 }, { name: 3 }, { name: 4 } ]
  • 返回的新數組纔是過濾好的結果,原數組不變

改 map

var obj={name:100};
var res=arr.map(function (item, index) {
    if(item.name===1){
        return obj
    }
    return item;
});
console.log(arr);//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 } ]
console.log(res)//[ { name: 100 }, { name: 2 }, { name: 3 }, { name: 4 } ]
  • 返回的新數組纔是改變後的結果,原數組不變

查 find

var res=arr.find(function (item, index) {
    return item.name==1
})
console.log(arr)//[ { name: 1 }, { name: 2 }, { name: 3 }, { name: 4 } ]
console.log(res)//{ name: 1 }
  • 返回結果纔是要查找的項,原數組不變

相關文章
相關標籤/搜索