我有下面的2D数组。。。
let calendar = [
{date: "1/1", emoji: "🎆", title: "New Year"},
{date: "24/1", emoji: "🏫", title: "International Day of Education"},
{date: "11/2", emoji: "🧪", title: "International Day of Women and Girls in Science"},
];
以及一些变量:
var date
其表示"日期"中的当前日期;天/月";总体安排
var emoji
var title
其表示合适的表情符号和当天的标题。
我现在有了日期(例如"1/1"(,并想在数组中搜索它。
通常,会有这样的输出:日期:";1/1";,表情符号:;🎆&";,标题:";新年">。它只会拿走整个物体。但因为我想将输出作为变量的值:neneneba表情&标题,我需要调整输出,以便在数组中搜索日期并找到表情符号变量的值(预期值:🎆)以及标题变量。(预期值:新年(
您可以使用javascript的Array.filter-方法:
let calendar = [
{date: "1/1", emoji: "🎆", title: "New Year"},
{date: "24/1", emoji: "🏫", title: "International Day of Education"},
{date: "11/2", emoji: "🧪", title: "International Day of Women and Girls in Science"},
]
let filtered = calendar.filter(el => {
return el.date === '1/1'
})
filtered.forEach(el => {
console.log(el.emoji,el.title)
})
注意:Array.filter返回一个包含所有匹配元素的新数组!如果你只需要第一个匹配元素的内容,你应该使用Array.filter:
let calendar = [
{date: "1/1", emoji: "🎆", title: "New Year"},
{date: "24/1", emoji: "🏫", title: "International Day of Education"},
{date: "11/2", emoji: "🧪", title: "International Day of Women and Girls in Science"},
]
let found = calendar.find(el => {
return el.date === '1/1'
})
console.log(found.emoji, found.title)
let date = '1/1'
let {emoji, title} = calendar.filter(item => item.date === date)[0]
但不能清楚地理解你真正想要的是什么。从结果对象中获取所需字段有什么问题?