gpt4 book ai didi

javascript - JavaScript 中相同类型和值的两个字符串在与关联数组匹配时不会计算为 true

转载 作者:行者123 更新时间:2023-11-28 13:01:31 25 4
gpt4 key购买 nike

monthDateMapper(month) {
const months = {'Jan': '01', 'Feb': '02', 'Mar': '03'
,'Apr': '04', 'May': '05', 'Jun': '06'
,'July': '07', 'Aug': '08', 'Sep': '09'
, 'Oct': '10', 'Nov': '11', 'Dec':'12'}
let monthDate;
for(var monthAbrev in months) {
month === monthAbrev ? monthDate = months[monthAbrev] : monthDate = 'Invalid Value'
}
return monthDate
}

假设我使用monthDateMapper('Apr')调用函数,为什么我的条件从未将monthDate指定为04。

我读过几篇关于 Javascript 中匹配字符串主题的文章;他们中的大多数人说这种类型检查永远不会成立,即使两种类型都是字符串并且值相同:

答案之一建议使用 lodash _.isEqual(),但这不起作用。我还尝试将两侧都转换为小写,还尝试将它们进一步转换为 2 个字符串。我通过 typeOf 确认它们都是两个字符串。

有办法解决吗?

最佳答案

您正在迭代所有键,并且当条件为真时您不会停止迭代。顺便说一句,您不需要在几个月内迭代:)

function monthDateMapper(month) {
const months = {'Jan': '01', 'Feb': '02', 'Mar': '03'
,'Apr': '04', 'May': '05', 'Jun': '06'
,'July': '07', 'Aug': '08', 'Sep': '09'
, 'Oct': '10', 'Nov': '11', 'Dec':'12'}

return months[month] || 'Invalid Value'
};

关于javascript - JavaScript 中相同类型和值的两个字符串在与关联数组匹配时不会计算为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50001108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com