常用的数组操作方法

常用的数组操作方法

数组添加:push(后面添加),unshift(前面添加)

let arr = ["1", "2", "3"];
console.log(arr.push(0, 4)); // 添加后的数组长度:5
console.log(arr); //["1", "2", "3", 0, 4]

let arr = ["1", "2", "3"];
console.log(arr.unshift(0, 4)); // 添加后的数组长度:5
console.log(arr); //[ 0, 4,"1", "2", "3"]

数组删除:pop(后面删除),shift(前面删除),只能删除一个

let arr = ["1", "2", "3", "4", "5"];
console.log(arr.pop()); // 原数组数组长度:5
console.log(arr); //["1", "2", "3", "4"]

let arr = ["1", "2", "3", "4", "5"];
console.log(arr.shift()); // 原数组数组长度:5
console.log(arr); //["2", "3", "4", "5"];

数组删除、替换、添加:splice(index,length,key)
index:数组开始下标
length: 替换/删除的长度
key:替换的值,默认为空

//删除
let arr = ["a", "b", "c"];
console.log(arr.splice(1, 1)); // 删除的值:"b"
console.log(arr); // ["a","c"]
//替换
let arr = ["a", "b", "c"];
console.log(arr.splice(1, 1, 1)); // 替换的值:"b"
console.log(arr); // ["a","1","c"]
//添加
let arr = ["a", "b", "c"];
console.log(arr.splice(1, 0, "你好")); // 空数组
console.log(arr); // ["a", "你好", "b", "c"]

数组合并:concat(附:另一种方法)

//方法一
let arr = [1, 2, 3, 4, 5];
let arr1 = arr.concat([1, 2]);
console.log(arr); // [1,2,3,4,5]
console.log(arr1); // [1,2,3,4,5,1,2]
//方法二
var arr1=['a','b','c','d'];
var arr2=['d'];
var arr3=['e','f'];
var dd=[...arr1,...arr2,...arr3];
console.log(dd);//["a", "b", "c", "d", "d", "e", "f"]

字符串转化为数组:split

let str = '12345';
let arr = str.split('');
console.log(arr); // ["1", "2", "3", "4", "5"]

数组排序:sort

let arr = [2,10,6,1,4,22,3]
let arr1 = arr.sort((a, b) =>a - b)
console.log(arr1)   // [1, 2, 3, 4, 6, 10, 22]
let arr2 = arr.sort((a, b) =>b-a)  
console.log(arr2)  // [22, 10, 6, 4, 3, 2, 1]

数组反转:reverse

let arr = [1,2,3,4,5]
let arr1 = arr.reverse()
console.log(arr1)    // [5,4,3,2,1]

数组去重:

var array = [1,2,3,3,4,5];
//方法一
if(new Set(array).size !== array.length){
    console.log("存在相同的元素");
}else {
    console.log("不存在相同的元素")
}
//方法二
let ary = Array.from(new Set(array))
console.log(ary)// [1, 2, 3, 4, 5]

以上方法不适合数组对象或数组包数组的情况

数组遍历:foreach,map

//foreach
let arr = [1,2,3,4,5]
arr.forEach( (value,index,array)=>{
  console.log(`value:${value} index:${index} array:${array}`)
})
//  value:1    index:0     array:1,2,3,4,5
//  value:2    index:1     array:1,2,3,4,5
//  value:3    index:2     array:1,2,3,4,5
//  value:4    index:3     array:1,2,3,4,5
//  value:5    index:4     array:1,2,3,4,5

//map
let arr = [1, 2, 3, 4, 5];
let info = arr.map((value, index, array) => {
  return { value: value, index: index, array, array };
});
console.log(info);

arr.forEach()是和for循环一样,是代替for。arr.map()是修改数组其中的数据,并返回新的数据。
arr.forEach() 没有return; arr.map() 有return

数组筛选:filter

let arr = [1, 2, 3, 4, 5];
let arr1 = arr.filter((value, index) => {
  console.log(value, index);
  if (value > 3) {
    return value;
  }
});
console.log(arr1);    // [4, 5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值