增: 返回新数组长度
let arr = [10,20,30,40,50]
arr.push(元素) : 在数组 末尾 新增元素
const arr1 = arr.push(10)
console.log(arr1);
console.log(arr);
arr.unshift() : 在数组 开头 新增元素
const arr2 =arr.unshift(4, 5);
console.log(arr2);
console.log(arr);
删: 返回删除的那个元素
arr.pop() : 删除数组 最后一个 元素
arr.pop();
console.log(arr);
arr.shift() : 删除数组 第一个 元素
const arr3 = arr.shift();
console.log(arr);
console.log(arr3);
arr.splice(起始下标,删除数量,...插入元素)
arr.splice(1, 0, 90);
console.log(arr);
查: 返回查询到的元素数组
arr.slice(起始下标,结束下标) : 查询指定范围的元素
const newArr = arr.slice(2,5)
console.log( newArr )
arr.concat( 数组 ) : 连接数组
const newArr1 = arr.concat([60,70,80])
console.log( newArr1 )
arr.join('分隔符') : 把数组元素按照分隔符拼接成一个字符串
const nameArr = ['罗文','甄妮']
console.log( nameArr.join('&') )
arr.reverse() : 翻转数组
console.log( arr )
arr.sort() : 数组排序
let dataArr = [
{name:'张三',age:18},
{name:'李四',age:22},
{name:'王五',age:16},
{name:'赵六',age:30},
{name:'刘琦',age:25},
]
// 排序
dataArr.sort( (a,b)=>{
console.log( a,b )//数组中相邻的元素
return a.age - b.age
})
console.log(dataArr)
数组map方法
<script>
let arr = [ 20,50,88,60,56 ]
const res = arr.map( item => item*0.5 )
console.log(res)
</script>
数组forEach方法
<script>
let arr = [
{ name:'商品1', select:false },
{ name:'商品2', select:true },
{ name:'商品3', select:false },
{ name:'商品4', select:false },
]
/*
0. forEach应用场景 : 循环遍历数组元素
* 遍历修改数组每一个元素值(不需要得到新数组,仅仅只是修改数组自身元素)
1. 循环次数 === 数组长度
2. 回调函数内部返回值
无return
3. 方法自身返回值
无return
*/
// 需求: 全选(设置每一个元素的select值为true)
arr.forEach( (item,index) => {
item.select = true
} )
console.log( arr )
// 箭头函数的函数体只有一行,则可以省略大括号。 此时也必须要省略return
arr.forEach( item => item.select = true )
</script>
数组filter方法
<script>
let arr = [
{ name: '商品1', select: false },
{ name: '商品2', select: true },
{ name: '商品3', select: false },
{ name: '商品4', select: false },
{ name: '商品5', select: true },
]
/*
0. filter应用场景 : 根据条件筛选数组, 将满足条件的元素放入新数组
* 筛选数组元素
* 批量删除数组元素(相当于筛选出不需要删除的元素)
1. 循环次数 === 数组长度
2. 回调函数内部返回值
return true : 满足条件,放入新数组
return false : 不满足条件,不放入新数组
3. 方法自身返回值
return 新数组
*/
// 需求: 筛选用户选中的商品
// const res = arr.filter( (item,index)=>{
// if( item.select ){
// return true
// }else{
// return false
// }
// } )
// console.log( res )
const res = arr.filter(item => item.select)
console.log(res)
// 需求 : 删除选中的商品(把true的剔除,保留false的商品)
// 等价于: 筛选用户没有选中的商品
arr = arr.filter(item => !item.select)
console.log(arr)
</script>
数组reduce方法
<script>
let arr = [20,50,18,30]
const res = arr.reduce( (sum,item)=> sum + item, 0 )
console.log( res )
</script>