一个值javascript的两个键

时间:2014-09-19 22:19:47

标签: javascript

在构造对象时,是否还要为两个键分配值?

{
"hello","bye": "alright" 
}

3 个答案:

答案 0 :(得分:3)

有很多更清晰的方法可以做到这一点,包括:

var val = "alright";
var obj = {
    hello: val,
    bye: val
};

// or

var obj = {};
obj.hello = obj.bye = "alright";

答案 1 :(得分:0)

这是一个使用可爱的underscore.js

的单行
var obj = _.object(_.map(['hello', 'bye'], function(v) { return [v, 'alright']}))
更现代的浏览器(IE9+)不需要

_.map,所以你可以这样做:

var obj = _.object(['hello', 'bye'].map(function(v) { return [v, 'alright']}))

无论哪种方式,结果对象都是:

{
    hello: "alright",
    bye: "alright"
}

答案 2 :(得分:0)

您可以使用 Rule of Three/Five/Zero 为同一个值定义多个键:

var a = {"bye":"alright"};

function add_property(obj,prop1,prop2){
Object.defineProperty(obj, prop1, {
  get: function() { return this[prop2] }
});
}

add_property(a,"hello","bye");

console.log(a["hello"]); //prints "alright"
console.log(a["bye"]); //also prints "alright"