数组的基本方法
怎么用,是否更改原数组,返回值是什么,
-
join : array.join("符号")把数组转为字符串,不改变原数组
-
split : string.split("符号")以字符为标准进行分割字符串,返回数组
-
push: array.push(参数),把参数添加到数组尾部,改变原数组,此方法返回最新的数组长度为数字
-
pop:删除数组尾部一个元素,改变原数组,此方法返回删除的那个元素
-
unshift:array .unshift(参数),把参数添加到数组头部,改变原数组,此方法返回最新的数组长度为数字
-
shift :删除数组头部一个元素,改变原数组,此方法返回删除的那个元素
-
reverse:反转数组,更改原数组
-
sort:排序,sort((a,b)=>{return a-b}) 默认a<b return数字 <0升序 >0降序 更改原数组,返回当前更改数组
-
concat :数组拼接array1.concat(arr2);不更改原数组,返回拼接后的新数组
-
splice :截取/删除数组,3个参数非必填 array("开始截取的数组下标","截取的长度","填充替换的数组")更改原数组,返回删除的数据数组
-
slice :截取/删除数组,不更改原数组
-
array("开始截取的数组下标","截取的数组下标加一",)更改原数组,返回删除的数据数组
遍历数组的函数方法
-
forEach 没有返回值
-
map 有返回值
-
filter 过滤器 有返回值
-
find 只回返回第一个符合条件的数据 有返回值
-
findIndex 返回第一个符合条件的数据的下标
-
some 一真则真
-
every 一假则假
-
reduce 累加
var a = [1, 2, 3, 45, 56]
var a1 = a.join('s')
console.log(a1); //1sf2sf3sf45sf56
//-----------
var b = ('fjs%fjakl%fa%feicv%123')
var b1 = b.split('%')
console.log(b1); //"fjs", "fjakl", "fa", "feicv", "123"]
//------------
var c = [1, 2, 3, 4, 5]
var c1 = c.push(1222)
console.log(c1); //6
console.log(c); //1, 2, 3, 4, 5, 1222
//-------------
var d = [1, 2, 34, 4, 6]
var d1 = d.pop()
console.log(d1);
console.log(d);
//-----------
var e = [1, 2, 3, 4, 75, 45]
var e1 = e.unshift('1222')
console.log(e1);
console.log(e);
//-----------
var e = [1, 2, 3, 4, 75, 45]
var e1 = e.shift()
console.log(e1);
console.log(e); //2, 3, 4, 75, 45
//----------
var f = [1, 2, 3, 4, 5]
var f1 = f.reverse()
console.log(f1); //5, 4, 3, 2, 1
//--------------------
var g = [1, 3, 5, 2, 75, 3, 4567, 12]
var g1 = g.sort((a, b) => {
return a - b
})
console.log(g1); //1, 2, 3, 3, 5, 12, 75, 4567
var g2 = g.sort((a, b) => {
return b - a
})
console.log(g2); //4567, 75, 12, 5, 3, 3, 2, 1
//-------------
var h = [1, 2, 3, 4, 563]
var h1 = [2, 3, 4, 667]
var h2 = h.concat(h1)
console.log(h2); //1, 2, 3, 4, 563, 2, 3, 4, 667
var i = [1, 2, 3, 34, 455, 6]
var i1 = i.splice(1, 2)
console.log(i1); //2,3
console.log(i); //[1, 34, 455, 6
var i1 = i.splice(1, 2, 12)
console.log(i1); //34,455
console.log(i); //1,12,6
//------------
var arr = [{
name: '1',
age: 10
}, {
name: '2',
age: 11
}, {
name: '3',
age: 12
}, {
name: '4',
age: 13
}, {
name: '5',
age: 14
},
]
//forEach 没有返回值
arr.forEach(item => {
item.class = '一年级'
})
console.log(arr);
//map 有返回值
var arr1 = arr.map(item => {
if (item.age > 12) {
return item
}
})
console.log(arr1);
//filter
var arr2 = arr.filter(item => {
return item.age > 12
})
console.log(arr2);
//find 只回返回第一个符合条件的数据
var arr3 = arr.find(item => {
return item.age > 10
})
console.log(arr3);
//findIndex 返回第一个符合条件的数据的下标
var arr4 = arr.findIndex(item => {
return item.age > 13
})
console.log(arr4);
//some 一真则真
arr[0].class = '二年级'
console.log(arr);
var arr5 = arr.some(item =>
item.class === '一年级'
)
console.log(arr5);
//every 一假则假
var arr6 = arr.every(item =>
item.class === '一年级'
)
console.log(arr6);
//reduce
var q = [1, 2, 3, 4]
var q1 = q.reduce((p, n) => {
return p += n
}
)
console.log(q1);