javascript - 查找关系数组和对象
问题描述
let data = [{
name: "Sarah",
year: ["1924", "1936", "1948", "1960", "1972", "1984", "1996", "2008", "2020", "2032"]
},
{
name: "Ann",
year: ["1925", "1937", "1949", "1961", "1973", "1985", "1997", "2009", "2021", "2033"]
}
];
我们分配一个数组,数组内部有两个对象,每个对象都有另一个数组。
我想问用户她的出生年份并从名称中的对象值中选择她的名字。
例如,如果她出生于 1949 年,她的名字必须是 Ann,或者如果她出生于 1960 年,她的名字必须是 Sarah。
我正在考虑两天,但我无法解决这个问题。
我不想编写代码 if/else 或 case 切换状态。还有其他代码选项吗?我想在姓名和年份之间建立关联。
我希望我解释清楚..
解决方案
我想这就是你要找的
let data = [{
name: "Sarah",
year: ["1924", "1936", "1948", "1960", "1972", "1984", "1996", "2008", "2020", "2032"]
}, {
name: "Ann",
year: ["1925", "1937", "1949", "1961", "1973", "1985", "1997", "2009", "2021", "2033"]
}];
function yearToName(year) {
return data.find(x => x.year.includes(year)).name;
}
console.log(yearToName("1936"))
console.log(yearToName("1937"))
推荐阅读
- python - 如何设置此数据框列以便可以对其进行迭代?
- matlab - 如何将包含 jpeg 文件数据的工作区对象转换为图像数组
- javascript - 即使使用 await,NodeJS 函数也不会等待 PostgreSQL 数据库调用
- javascript - 如何使用两个单独的数组执行操作,一个包含值,另一个包含操作数
- c# - 指定的初始化向量 (IV) 与此算法的块大小不匹配(Microsoft 示例)
- mysql - 如何使用cte删除mysql中的重复数据
- if-statement - 如何仅在项目等于或大于 1 时才显示图标子项和文本子项,如果它们为 0 则使它们不可见
- python - 有没有办法更有效地格式化这个字符串?
- python - AWS boto3 - 等到卷附加到 EC2 实例
- python - 如何将参数绑定到 InfluxDB Python 客户端查询