var arr1=[{id:1, name:123, age:12},{id:2, name:1223, age:12},{id:3, name:123, age:12},{id:4, name:1223, age:12}] function delArrVal(arr,val){ for(let i=0;i<arr.length;i++){ if(typeof arr[i].name==val){ arr.splice(i,1) i--; } } return arr; } delArrVal(arr1,123)
扩展方法
1、数据去重
function deletArrE(userInfoLS, examNo) { let list = [...userInfoLS]; let result = []; let obj = {}; for (let i = 0; i < list.length; i++) { if (!obj[list[i][examNo]]) { result.push(list[i]); obj[list[i].examNo] = true; } } return result; }
2、根据某个相同参数合并
function getArrMerge(arr1, arr2) { const alData = arr2.map(item => { const data = arr1.find(i => item.examNo == i.examNo); return { ...item, ...data }; }); }
3、删除指定索引数组
function Arrdel(a1, a2) { let arr = []; a2.forEach(item => { a1.splice(item, 1) }) //过滤 arr = a1.filter(item => item); return arr; }
4、判断一个数组是否都存在于另一个数组
function isContained(a, b) { if (!(a instanceof Array) || !(b instanceof Array)) return false; if (a.length < b.length) return false; var aStr = a.toString(); for (var i = 0, len = b.length; i < len; i++) { if (aStr.indexOf(b[i]) == -1) return false; } return true; }
5、单数组去重
function unique(arr) { var newArr = []; for (var i = 0; i < arr.length; i++) { if (newArr.indexOf(arr[i]) == -1) { newArr.push(arr[i]) } } return newArr; }
6、拿到不同的数据
function getArrDifference(arr1, arr2) { return arr1.concat(arr2).filter(function(v, i, arr) { return arr.indexOf(v) === arr.lastIndexOf(v); }); }
7、多维数组中最里面一层小部位数组改成对象
function package(data) { data.forEach(function(item, index) { if (item.examParts) { var _arr = item.examParts _arr.forEach(function(ft, index) { for (var k in ft) { if (item[k]) { item[k] = item[k] + ',' + ft[k] } else { item[k] = ft[k] } } }) delete item.examParts } }) return data }
8、根据id相同合并
function merge(arr1, arr2, id) { arr1.forEach(function(o, d) { for (var k in o) { arr2.forEach(function(t) { for (var key in t) { if (t[id] == o[id]) { t[k] = o[k]; } } }) } }); return arr2 }
上面是“js查找多维数组中的存在某个值,并全部删除”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_1501.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!