遍历对象,判断对象是否存在空值
let obj={
name:'张三',
age:21,
education:''
}
const isNull= Object.values(obj).some(value => ["", null, undefined].includes(value))
console.log(isNull);
判断当前的值的数组是否包含输入的值
function cssRule(factory, radioLine) {
const factoryLineMap = {
0: [1, 2, 3, 4, 5, 6],
1: [1, 2],
3: [3, 4],
2: [5, 6]
}
const isGreen = factoryLineMap[factory].includes(radioLine)
return isGreen
}
console.log(cssRule(2,1));
Object.assign简单用法
//添加,如果obj中school不存在,那么就会添加school
let obj={
name:'张三',
age:'18'
}
const school={school:'南校'};
console.log(Object.assign(school,obj));
//替换:如果obj中school不存在,那么就会添加school
let obj2={
name:'李四',
age:'12'
}
const age={age:'23'};
console.log(Object.assign(obj2,age))
给数组的每一项添加其他的属性,并形成一个对象
let arr=[1,2,3,4,5,6];
const dto=arr.map((item,index)=>{
return {id:item,state:0,name:`张${index+1}`}
})
console.log(arr,dto);
数组去重
let arr = [1,1,"1","1",true,true,"true",{},{},"{}",null,null,undefined,undefined]
// 方法1
let uniqueOne = Array.from(new Set(arr)) console.log(uniqueOne)
// 方法2
let uniqueTwo = arr => {
let map = new Map(); //或者用空对象 let obj = {} 利用对象属性不能重复得特性
let brr = []
arr.forEach( item => {
if(!map.has(item)) { //如果是对象得话就判断 !obj[item]
map.set(item,true) //如果是对象得话就obj[item] =true 其他一样
brr.push(item)
}
})
return brr
}
console.log(uniqueTwo(arr))
//方法3
let uniqueThree = arr => {
let brr = []
arr.forEach(item => {
// 使用indexOf 返回数组是否包含某个值 没有就返回-1 有就返回下标
if(brr.indexOf(item) === -1) brr.push(item)
// 或者使用includes 返回数组是否包含某个值 没有就返回false 有就返回true
if(!brr.includes(item)) brr.push(item)
})
return brr
}
console.log(uniqueThree(arr))
//方法4
let uniqueFour = arr => {
// 使用 filter 返回符合条件的集合
let brr = arr.filter((item,index) => {
return arr.indexOf(item) === index
})
return brr
}
console.log(uniqueFour(arr))
变量数组,找到对应的位置
let arr = [{
"id": 41,
"name": "详情一",
"details": [{
"index": 1,
"name": "皮皮",
"age": 32,
"address": '南京市'
}, {
"index": 1,
"name": "悠悠",
"age": 33,
"address": '琼海市'
}, {
"index": 2,
"name": "涛涛",
"age": 23,
"address": '杭州市'
}, {
"index": 1,
"name": "赵三",
"age": 42,
"address": '琼海市'
}, {
"index": 1,
"name": "八八",
"age": 21,
"address": '北京市'
}]
}, {
"id": 43,
"name": "详情二",
"details": [{
"index": 1,
"name": "张三",
"age": 12,
"address": '上海市'
}, {
"index": 1,
"name": "李四",
"age": 33,
"address": '杭州市'
}, {
"index": 1,
"name": "王五",
"age": 21,
"address": '南昌市'
}, {
"index": 1,
"name": "赵六",
"age": 32,
"address": '南京市'
}]
}]
let arr_1 = [{
"index": 1,
"name": "张三",
"age": 12,
"address": '上海市浦东新区'
}, {
"index": 1,
"name": "李四",
"age": 33,
"address": '杭州市'
}, {
"index": 1,
"name": "王五",
"age": 21,
"address": '南昌市'
}, {
"index": 1,
"name": "赵六",
"age": 32,
"address": '南京市'
}]
let result = [];
arr_1.forEach((i, iIndex) => {
arr.forEach((j, jIndex) => {
var index = j.details.findIndex(k => k.name == i.name && k.age == i.age && k.address ==
i.address);
if (index != -1) {
result = j
}
})
});
console.log(result)