写功能时的小技巧

undefined 11天前 ⋅ 25 阅读

一、数组赋值数组

1、扩展运算符

const arr1 = [1,2,3,4,5,6,7];
const arr2 = [];
arr2 = [...arr1];//[1,2,3,4,5,6,7]

注 :只针对arr2没有数据的情况下。

2、slice方法

const arr1 = [1,2,3,4,5];
const arr2 = [a,b,c,b];
arr2 = arr1.slice();//[1,2,3,4,5]

3、splice、push结合

const arr1 = [1,2,3,4,5,6,7];
const arr2 = [a,d,c,b];
//先清空arr2
arr2.splice(0,arr2.length);
arr1.forEach(item => arr2.push(item));

二、判断两个数组是否一致

1、sort方法

const arr1 = [a,b,c,d];
const arr2 = [a,d,c,b];
const arr3 = [a,d,c,b]
const isConsisient = function (arr1,arr2) {
	return JSON.stringify(arr1.sort()) === JSON.stringify(arr2.sort());
};
isConsisient(arr1,arr2);//false
isConsisient(arr2,arr3);//true

三、数组中添加时若id重复则覆盖更新,否则新增元素

find、push方法

 const newIt = 数据
 const index = arr.findIndex(item => item.playerID === player.playerID);
  if (index !== -1) {
    // 存在则更新当前项
    arr[index] = newIt;
  } else {
    // 不存在则添加新项
    arr.push(newIt);
  }

全部评论: 0

    我有话说: