数组对象取出不同值
方法一:
let array1 = [ {"name": "哆啦" },{"name": "莓莓" }];
let array2 = [ {"name": "哆啦","date": "2019-03" }, {"name": "莓莓","date": "2020-04"}, {"name": "布尔" ,"date": "2020-06"}];
let result = [];
for(let i = 0; i < array2.length; i++){
let obj = array2[i];
let name = obj.name;
let isExist = false;
for(let j = 0; j < array1.length; j++){
let aj = array1[j];
let n = aj.name;
if(n == name){
isExist = true;
break;
}
}
if(!isExist){
result.push(obj);
}
}
console.log(result);
方法二:
let array1 = [ {"name": "哆啦","date": "2019-03" }, {"name": "莓莓","date": "2020-04"}, {"name": "布尔" ,"date": "2020-06"},{"name": "橘崽" ,"date": "2020-10"}];
let array2 = [ {"name": "哆啦" },{"name": "莓莓" }];
let result = array1.filter(item => {
let idList = array2.map(val => val.name)
return idList.indexOf(item.name) == -1
})
console.log(result);
普通数组取出不同值
let arr1 = [0,1,2,3,4,5];
let arr2 = [0,4,6,1,3,9];
function getArrDifference(arr1, arr2) {
return arr1.concat(arr2).filter(function(v, i, arr) {
return arr.indexOf(v) === arr.lastIndexOf(v);
});
}
console.log(getArrDifference(arr1,arr2));
数组对象取出相同值
let array1 = [ {"name": "哆啦","date": "2019-03" }, {"name": "莓莓","date": "2020-04"}, {"name": "布尔" ,"date": "2020-06"},{"name": "橘崽" ,"date": "2020-10"}];
let array2 = [ {"name": "哆啦" },{"name": "莓莓" }];
let result = array1.filter(item => {
let idList = array2.map(val => val.name)
return idList.indexOf(item.name) != -1
})
console.log(result);
普通数组取出相同值
let arr1 = [0,1,2,3,4,5];
let arr2 = [0,4,6,1,3,9];
function getArrEqual(arr1, arr2) {
let newArr = [];
for (let i = 0; i < arr2.length; i++) {
for (let j = 0; j < arr1.length; j++) {
if(arr1[j] === arr2[i]){
newArr.push(arr1[j]);
}
}
}
return newArr;
}
console.log(getArrEqual(arr1, arr2));
数组与对象数组进行比较
原始数据
const ingredientName = ['chicken', 'cheese', 'tomato', 'lettuce'];
let imageObjects = [{
name: 'chicken',
image: "https://spoonacular.com/cdn/ingredients_100x100/whole-chicken.jpg"
}, {
name: 'cheese',
image: "https://spoonacular.com/cdn/ingredients_100x100/cheddar-cheese.png"
}, {
name: 'tomato',
image: "https://spoonacular.com/cdn/ingredients_100x100/tomato.png"
}, {
name: 'lettuce',
image: "https://spoonacular.com/cdn/ingredients_100x100/iceberg-lettuce.jpg"
}, ];
const ingredientName = ['chicken', 'cheese', 'tomato', 'lettuce'];
let imageObjects = [{
name: 'chicken',
image: "https://spoonacular.com/cdn/ingredients_100x100/whole-chicken.jpg"
}, {
name: 'cheese',
image: "https://spoonacular.com/cdn/ingredients_100x100/cheddar-cheese.png"
}, {
name: 'tomato',
image: "https://spoonacular.com/cdn/ingredients_100x100/tomato.png"
}, {
name: 'lettuce',
image: "https://spoonacular.com/cdn/ingredients_100x100/iceberg-lettuce.jpg"
}, ];
result = imageObjects.filter(({
name
}) => ingredientName.includes(name)).map((elem) => elem.image);
console.log(result);
const ingredientName = ["chicken", "cheese", "tomato", "lettuce"];
let imageObjects = [{
name: "chicken",
image: "https://spoonacular.com/cdn/ingredients_100x100/whole-chicken.jpg",
},
{
name: "cheese",
image: "https://spoonacular.com/cdn/ingredients_100x100/cheddar-cheese.png",
},
{
name: "tomato",
image: "https://spoonacular.com/cdn/ingredients_100x100/tomato.png",
},
{
name: "lettuce",
image: "https://spoonacular.com/cdn/ingredients_100x100/iceberg-lettuce.jpg",
},
];
let images = ingredientName.map((ingredient) =>
imageObjects.find((image) => image.name === ingredient).image
);
console.log(images)