点我去Gitee
点我去Gitee

数组对象常用的方法

数组对象常用的方法

1.检测数组中是否有某个值 比如检测输入的ip是否唯一 .some

let isHaveIp=arrSourse.some(item=>item.ip===inputIp)

2.浅拷贝 深拷贝

let two_brand = one_brand.slice(0);//浅拷贝
let two_brand = one_brand.map(o => ({...o}));//深拷贝

3.数组判空

JSON.stringify(ObjData) == "{}"

4.将对象数组中指定键值赋给另一个数组并对更改对象数组中的key值(键名)

let arr = [{id:1, weChat:'test1'},{id:2, weChat:'test2'},{id:3, weChat:'test3'}]
let newArr = [];
 
arr.forEach((item)=>{
    let obj = {};
    for(let i=0; i <= arr.length; i++){
        obj.id = item.id;
        obj.name = item.weChat;
    }
    newArr.push(obj);
});
console.info(newArr);
//[{id:1, name:'test1'},{id:2, name:'test2'},{id:3, name:'test3'}]

5.去除数组中的空元素

record = record.filter(function(n){return n})

6.创建固定长度的空数组

let record= Array(3).fill('')

7.修改数组对象中的某个对象数据[{},{},{},{改/删除}]


//先找到要删除的数据的下标  根据id来找 因为id唯一

// ① 获取willchangeArr中的id作为数组 idArr
let idArr = willchangeArr.map(item => {
	return item.id
})
// ② 获取id为‘id1’的这组数据在willchangeArr的下标值
const index = idArr.indexOf('id1')

// 现在可以根据获得的index索引  对原数组进行修改、删除

// 在willchangeArr中修改这个数据为{id:'idx',name:'xx',age:1,sex:'x'}
willchangeArr[index] = {id:'idx',name:'xx',age:1,sex:'x'}
// console.log(willchangeArr) [{id:'idx',name:'xx',age:1,sex:'x'},{id:'id2',name:'小黄',age:19,sex:'b'},{id:'id3',name:'小黑',age:28,sex:'g'}]

// 在willchangeArr中删除id为‘id1’的这个数据
willchangeArr.splice(index, 1)
// console.log(willchangeArr) [{id:'id2',name:'小黄',age:19,sex:'b'},{id:'id3',name:'小黑',age:28,sex:'g'}]


8.查找值在数组、对象中的index值

let index=objData.findIndex((item)=>item.key===edictket)//对象
let undex=[1,2,3].findIndex(1)//数组 0

9. 去重并过滤undefined

let uniqueArr = [...new Set(dataSource.map((item) => item[cur]))].filter(Boolean);

10.模糊匹配

let tmp = dataSource.filter((item) => String(item[curSltValue]).match(searchCurIptValue))

11 通过对象的属性值找到属性名

const findKey = (obj, value, compare = (a, b) => a === b) => {
  return Object.keys(obj).find((k) => compare(obj[k], value));
};
posted @ 2022-03-28 16:08  biuo  阅读(113)  评论(0编辑  收藏  举报