js数组-常见方法案例

数组合并

let arr1 = [1, 2, 3, 4, 5];
let arr2 = [6, 7, 8, 9, 10];

1、concat

arr1 = arr1.concat(arr2);

2、Array.propotype.push.apply

arr1 = Array.propotype.push.array(arr1, arr2);

3、es6合并

arr1 = [...arr1, ...arr2];

4、原始for循环

arr2.map((item) => {
	arr1.push(item);
});

数组排序

let stringArray = [2, 3, 1, 45, 65, 34, 46, 45, 34]
let objectArray = [{name: 'bob', age: 12},{name: 'mary', age: 23},{name: 'lily', age: 11},{name: 'jack', age: 56},]

1、sort

    stringArray = stringArray.sort((a, b) => {return a - b;});
    objectArray = objectArray.sort((a, b) => {return a.value - b.value;});

同理如下:
function compare (x, y) {
	if (x < y) {
		returen 1;
	} else if (x > y) {
		return -1;
	} else {
		return 0;
	}
}
stringArray = stringArray.sort(stringArray);

一般较多使用为sort排序,对于学习js,最好了解以下链接中的10种排序算法逻辑理解;
https://juejin.im/post/57dcd394a22b9d00610c5ec8

数组去重方案

let repetArray = [2, 4, 23, 345,23, 4, 54, 56, 34, 45, 54];

1、es6

repetArray = Array.form(new Set(repetArray));

2、object的key值唯一性

let newObject = {};
repetArray.map((item) => {
	newObject = Object.assign({}, newObject, {[item] : ''});
})
repetArray = Object.keys(newObject);

3、for 循环遍历

  let newArray = [];
    repetArray.map((item) => {
   	if (newArray.includes(item)) {
   			return;
   	}
   	newArray.push(item);
   })

4、ramdajs,lodashjs等库中方法简单去重

R.uniq([1, 1, 2, 1]); //=> [1, 2]
R.uniq([1, '1']);     //=> [1, '1']
R.uniq([[42], [42]]); //=> [[42]]

数组增删操作

1:push 从数组最后插入数据;
2:pop 从数组最后删除数据;
3:unshift 从数组开始处插入数据
4:shift 从数组开始处删除数据

数组插入操作

let arr1=[34, 345, 34, 23];
splice,slice的区别在于splice会将原数组进行变更;而slice是重新生成1个数组;
splice (index, num, conatin)

let newArray = [];
1:删除
newArray = arr1.splice(2, 1); //删除第3位的1条数据 
// arr1: [34,345, 23]  newArray : [34]
newArray = arr1.slice(2, 1); //删除第3位的1条数据 
// arr1: 34, 345, 34, 23]  newArray : [34,345, 23]
2:替换
newArray = arr1.splice(2, 1,‘45’); //将45替换第3位的1条数据 

数组,字符串转换

// array ⇒ string
[1,2,3,4].join(',');   // "1,2,3,4"
// string ⇒ array
("1,2,3,4").split(',');   // ["1", "2", "3", "4"]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值