在前端開發中,咱們要常常用到js中的數組的內置方法,在控制檯中的打印中,咱們能夠看到數組中的內置方法。前端
在前端開發中,咱們要常常用到js中的數組的內置方法,在控制檯中的打印中,咱們能夠看到數組中的內置方法。數組
Array.concat()
該方法能夠合併一個或者多個數組let arr = [1,2,3];
let arr1 = [4,5,6];
let arr2 = [7,8,9];
let newArr = arr.concat(arr1); //[1,2,3,4,5,6]
let newArr1 = arr.concat(arr1,arr2); //[1,2,3,4,5,6,7,8,9]
複製代碼
Array.copyWithin()
let arr = [1,2,3,4,5,6];
let arr1 = [1,2,3,4,5,6];
let arr2 = [1,2,3,4,5,6];
let arr3 = [1,2,3,4,5,6];
arr.copyWithin(0,2,3); //[3,2,3,4,5,6]
arr1.copyWithin(0,2,4); //[3,4,3,4,5,6] 這裏能夠看到若是複製源爲多個值,他也會替換掉目標索引後面的值
arr2.copyWithin(3) //[1,2,3,1,2,3] 這裏默認start=0,end=5,也就是整個數組都是複製源,從目標索引爲3的位置開始複製,由於後面只有三個位置,因此複製源後面的4,5,6就沒有再複製,也就是數組長度不會變
arr3.copyWithin(3,-2,-4) //[1, 2, 3, 3, 4, 6] 負數的時候從右邊開始算
複製代碼
Array.every()
var arr = [2,5,6,7,4,5];
var arr1 = [15,34,55,654,4343];
arr.every(function(item,index.array){
return item>5
}) //false
arr1.every(function(item,index.array){
return item>5
}) //true
複製代碼
Array.fill()
[1,2,3,4,5].fill(3) //[3,3,3,3,3]
[1,2,3,4,5].fill(3,2) //[1,2,3,3,3]
[1,2,3,4,5].fill(3,2,4) //[1,2,3,3,5]
[1,2,3,4,5].fill(3,-5,-2) //[3, 3, 3, 4, 5] start和end容許負值
複製代碼
Array.filter()
[null,1,2,3,4,null].filter(function(item,index,array){
return item
}) //[1,2,3,4]
複製代碼
Array.find()
var arr= [
{
name:"教師1",
teaid:1
},
{
name:"教師2",
teaid:2
},
{
name:"教師1",
teaid:3
}
]
arr.find(function(item,index,array){
return item.name=="教師1"
}) // {name: "教師1", teaid: 1} 只返回找到的第一個值
複製代碼
Array.findIndex()
[1,2,3,4].findIndex(function(item,index,array){
return item == 2
}) //1
[1,2,3,4].findIndex(function(item,index,array){
return item == 25
}) //-1
複製代碼
Array.flat()
[1,2,[3,4,[5,6]],7,8].flat() //[1,2,3,4,[5,6],7,8]
[1,2,[3,4,[5,6]],7,8].flat(2) //[1,2,3,4,5,6,7,8]
複製代碼
Array.forEach()
var arr= [
{
name:"教師1",
teaid:1
},
{
name:"教師2",
teaid:2
},
{
name:"教師1",
teaid:3
}]
arr.forEach((item,index,array)=>{
console.log(item.name)
})// 教師1 教師2 教師1
複製代碼
Array.includes()
var arr=["hello","world"]
arr.includes("hello") //true
arr.includes("hello",1)//false
複製代碼
Array.indexOf()
var arr=[1,2,3,4,5]
arr.indexOf(1)//0
arr.indexOf(4)//3
arr.indexOf(2,3)//-1
複製代碼
Array.join()
var arr=["hello","world"]
arr.join(); //"hello,world"
arr.join("-"); //"hello-world"
arr.join(" "); //"hello world"
複製代碼
Array.lastIndexOf()
var arr=[1,2,1,4,5,4,2]
arr.lastIndexOf(1)//2
arr.lastIndexOf(6)//-1
arr.lastIndexOf(2,3)//1
複製代碼
Array.map()
var arr=[1,2,3,4];
var newArr=arr.map((item,index,array)=>{
return item+2
})
arr //[1,2,3,4]
newArr //[3,4,5,6]
複製代碼
Array.pop()
var arr=[1,2,3,4,5]
var lastNum=arr.pop();
lastNum//5
arr//[1,2,3,4]
複製代碼
Array.push()
var arr=[1,2,3,4,5]
var arrlength=arr.push(6);
arr.push(6,7,8,9);
arr //[1,2,3,4,5,6]
arrlength //6
複製代碼
Array.reverse()
var arr=[1,2,3,4,5]
arr.reverse()
arr// [5,4,3,2,1]
複製代碼
Array.shift()
var arr=[1,2,3,4,5]
var shiftNum=arr.shift();
shiftNum//1
arr//[2,3,4,5]
複製代碼
Array.unshift()
var arr=[1,2,3,4,5]
var length=arr.unshift();
length//6
arr//[2,3,4,5]
複製代碼
Array.slice()
var arr=[1,2,3,4,5]
var sliceArr=arr.slice(1,2)
arr// [1,2,3,4,5]
sliceArr//[2]
複製代碼
Array.some()
[null,1,2,3,4,null].some(function(item,index,array){
return item>2
})//true
複製代碼
Array.sort()
var arr=[1,56,2,54,776];
arr.sort() // arr=[1,2,54,56,776]
//也能夠用於成績排序之類的
var stuScore=[
{
stuName:'job',
score:45,
},
{
stuName:'jack',
score:4
},
{
stuName:'tom',
score:90,
},
{
stuName:'alice',
score:89,
},
{
stuName:'lei',
score:63,
}
]
stuScore.sort((firVal,sedVal)=>{
if(firVal.score>sedVal.score){
return 1
}else{
return -1
}
return 0
})
console.log(stuScore) //
[
{stuName: "jack", score: 4}
{stuName: "job", score: 45}
{stuName: "lei", score: 63}
{stuName: "alice", score: 89}
{stuName: "tom", score: 90}
]
複製代碼
Array.splice()
var arr=[1,2,3,4,5];
var spliceArr=arr.splice(2,2) //此時arr爲[1,2,5],spliceArr爲[3,4]
arr.splice(2,0,5,6) //此時arr爲[1,2,5,6,3,4,5]
複製代碼
Array.toString()
var arr = [1,2,3,4,5]
arr.toString() //"1,2,3,4,5" 該方法不會改變原數組,arr依然是[1,2,3,4,5]
複製代碼
Array.concat()
let arr = [1,2,3];
let arr1 = [4,5,6];
let arr2 = [7,8,9];
let newArr = arr.concat(arr1); //[1,2,3,4,5,6]
let newArr1 = arr.concat(arr1,arr2); //[1,2,3,4,5,6,7,8,9]
複製代碼
Array.copyWithin()
let arr = [1,2,3,4,5,6];
let arr1 = [1,2,3,4,5,6];
let arr2 = [1,2,3,4,5,6];
let arr3 = [1,2,3,4,5,6];
arr.copyWithin(0,2,3); //[3,2,3,4,5,6]
arr1.copyWithin(0,2,4); //[3,4,3,4,5,6] 這裏能夠看到若是複製源爲多個值,他也會替換掉目標索引後面的值
arr2.copyWithin(3) //[1,2,3,1,2,3] 這裏默認start=0,end=5,也就是整個數組都是複製源,從目標索引爲3的位置開始複製,由於後面只有三個位置,因此複製源後面的4,5,6就沒有再複製,也就是數組長度不會變
arr3.copyWithin(3,-2,-4) //[1, 2, 3, 3, 4, 6] 負數的時候從右邊開始算
複製代碼
Array.every()
var arr = [2,5,6,7,4,5];
var arr1 = [15,34,55,654,4343];
arr.every(function(item,index.array){
return item>5
}) //false
arr1.every(function(item,index.array){
return item>5
}) //true
複製代碼
Array.fill()
[1,2,3,4,5].fill(3) //[3,3,3,3,3]
[1,2,3,4,5].fill(3,2) //[1,2,3,3,3]
[1,2,3,4,5].fill(3,2,4) //[1,2,3,3,5]
[1,2,3,4,5].fill(3,-5,-2) //[3, 3, 3, 4, 5] start和end容許負值
複製代碼
Array.filter()
[null,1,2,3,4,null].filter(function(item,index,array){
return item
}) //[1,2,3,4]
複製代碼
Array.find()
var arr= [
{
name:"教師1",
teaid:1
},
{
name:"教師2",
teaid:2
},
{
name:"教師1",
teaid:3
}
]
arr.find(function(item,index,array){
return item.name=="教師1"
}) // {name: "教師1", teaid: 1} 只返回找到的第一個值
複製代碼
Array.findIndex()
[1,2,3,4].findIndex(function(item,index,array){
return item == 2
}) //1
[1,2,3,4].findIndex(function(item,index,array){
return item == 25
}) //-1
複製代碼
Array.flat()
[1,2,[3,4,[5,6]],7,8].flat() //[1,2,3,4,[5,6],7,8]
[1,2,[3,4,[5,6]],7,8].flat(2) //[1,2,3,4,5,6,7,8]
複製代碼
Array.forEach()
var arr= [
{
name:"教師1",
teaid:1
},
{
name:"教師2",
teaid:2
},
{
name:"教師1",
teaid:3
}]
arr.forEach((item,index,array)=>{
console.log(item.name)
})// 教師1 教師2 教師1
複製代碼
Array.includes()
var arr=["hello","world"]
arr.includes("hello") //true
arr.includes("hello",1)//false
複製代碼
Array.indexOf()
var arr=[1,2,3,4,5]
arr.indexOf(1)//0
arr.indexOf(4)//3
arr.indexOf(2,3)//-1
複製代碼
Array.join()
var arr=["hello","world"]
arr.join(); //"hello,world"
arr.join("-"); //"hello-world"
arr.join(" "); //"hello world"
複製代碼
Array.lastIndexOf()
var arr=[1,2,1,4,5,4,2]
arr.lastIndexOf(1)//2
arr.lastIndexOf(6)//-1
arr.lastIndexOf(2,3)//1
複製代碼
Array.map()
var arr=[1,2,3,4];
var newArr=arr.map((item,index,array)=>{
return item+2
})
arr //[1,2,3,4]
newArr //[3,4,5,6]
複製代碼
Array.pop()
var arr=[1,2,3,4,5]
var lastNum=arr.pop();
lastNum//5
arr//[1,2,3,4]
複製代碼
Array.push()
var arr=[1,2,3,4,5]
var arrlength=arr.push(6);
arr.push(6,7,8,9);
arr //[1,2,3,4,5,6]
arrlength //6
複製代碼
Array.reverse()
var arr=[1,2,3,4,5]
arr.reverse()
arr// [5,4,3,2,1]
複製代碼
Array.shift()
var arr=[1,2,3,4,5]
var shiftNum=arr.shift();
shiftNum//1
arr//[2,3,4,5]
複製代碼
Array.unshift()
var arr=[1,2,3,4,5]
var length=arr.unshift();
length//6
arr//[2,3,4,5]
複製代碼
Array.slice()
var arr=[1,2,3,4,5]
var sliceArr=arr.slice(1,2)
arr// [1,2,3,4,5]
sliceArr//[2]
複製代碼
Array.some()
[null,1,2,3,4,null].some(function(item,index,array){
return item>2
})//true
複製代碼
Array.sort()
var arr=[1,56,2,54,776];
arr.sort() // arr=[1,2,54,56,776]
//也能夠用於成績排序之類的
var stuScore=[
{
stuName:'job',
score:45,
},
{
stuName:'jack',
score:4
},
{
stuName:'tom',
score:90,
},
{
stuName:'alice',
score:89,
},
{
stuName:'lei',
score:63,
}
]
stuScore.sort((firVal,sedVal)=>{
if(firVal.score>sedVal.score){
return 1
}else{
return -1
}
return 0
})
console.log(stuScore) //
[
{stuName: "jack", score: 4}
{stuName: "job", score: 45}
{stuName: "lei", score: 63}
{stuName: "alice", score: 89}
{stuName: "tom", score: 90}
]
複製代碼
Array.splice()
var arr=[1,2,3,4,5];
var spliceArr=arr.splice(2,2) //此時arr爲[1,2,5],spliceArr爲[3,4]
arr.splice(2,0,5,6) //此時arr爲[1,2,5,6,3,4,5]
複製代碼
Array.toString()
var arr = [1,2,3,4,5]
arr.toString() //"1,2,3,4,5" 該方法不會改變原數組,arr依然是[1,2,3,4,5]
複製代碼