如何使用键/值对将“else”语句添加到以下字典中以处理任何歧义?
var inputArr = input.match(/[\d.]+/g).map(Number);
var inputAnswer = ""
inputArr.forEach(function(element, index){
var lookUp = {
"1":"611"
"2":"612"
"3":"613"
"":""
};
inputAnswer = lookUp[element];
}
return inputAnswer
});
如您所见,键/值对仅编程为处理“1”,“2”,“3”和“”。我如何为它添加另一个值,如果传递任何其他值,它将返回空字符串(“”)?只是想让它动态设置来处理任何类型的数据。谢谢!
答案 0 :(得分:3)
使用简单的三元组合hasOwnProperty可以让你做你想做的事。
注意:使用简单的||
支票可能不会提供所需的结果,因为如果在''
对象中设置了falsey值,它将返回lookUp
。有关为什么/如何做不到您期望的演示,请参阅this fiddle
var inputArr = input.match(/[\d.]+/g).map(Number);
var inputAnswer = ""
inputArr.forEach(function(element, index) {
var lookUp = {
"1":"611"
"2":"612"
"3":"613"
"":""
};
// If a defined value exists, return it, otherwise ''
inputAnswer = ( lookUp.hasOwnProperty(element) ) ? lookUp[element] : '';
}
return inputAnswer
});