אנגולר - מצא פריטים במערך על פי תנאי במערך פנימי
איך למצוא מזהה במערך שנמצא בתוך מערך של אובייקטים
דוגמה :
let arrayobjects = [{
id: 1,
name: "oinoin",
description: ["one", "two", "three"]
}, {
id: 2,
name: "zatata",
description: ["four", "five", "six"]
}];
איך אני יכול למצוא את המזהה של המילה "שניים" ?
תשובה #1
אם אתה צריך יותר מפריט אחד, אתה יכול לסנן את המערך בעזרת Array#filter, לבדוק אם התכונה description עבור כל פריט מכילה את המילה two בעזרת Array#includes (ES7), ואז למפות את התוצאה כדי לקבל רק את ה-id של אותם פריטים באמצעות Array#map.
let arrayobjects = [
{ id: 1, name: "oinoin", description: ["one", "two", "three"] },
{ id: 2, name: "zatata", description: ["four", "five", "six"] }
];
const ids = arrayobjects.filter(item => item.description.includes('two'))
.map(item => item.id);
console.log(ids);אם יש לך פריט אחד בלבד, אתה יכול פשוט להשתמש ב-Array#find ולבצע את אותו הבדיקות
let arrayobjects = [
{ id: 1, name: "oinoin", description: ["one", "two", "three"] },
{ id: 2, name: "zatata", description: ["four", "five", "six"] }
];
const item = arrayobjects.find(item => item.description.includes('two'));
console.log(item.id);תשובה #2
קטע זה עשוי להיות מה שאתה מחפש
arrayobjects.filter( ele => ele.description.includes("two")).map(ele => ele.id)פלט :[1]
