将else语句添加到Javascript字典键值对中?

时间:2017-07-31 21:49:21

标签: javascript dictionary

如何使用键/值对将“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”和“”。我如何为它添加另一个值,如果传递任何其他值,它将返回空字符串(“”)?只是想让它动态设置来处理任何类型的数据。谢谢!

1 个答案:

答案 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
});