如何将未知数量的值作为键值对中的键传递?(Javascript)
对不起,标题很混乱。基本上,我有一个对象,它有一堆键值对。例如:如何将未知数量的值作为键值对中的键传递?(Javascript),javascript,key-value,Javascript,Key Value,对不起,标题很混乱。基本上,我有一个对象,它有一堆键值对。例如: this[1,2] = "some output"; 如果我知道密钥将由两个值组成,我可以这样做: let someValue = 1; let someOtherValue = 2; console.log(this[someValue,someOtherValue]); //Outputs "some output" 但是,如果我的键由若干个值“n”组成,并且我知道这一点的唯一方法是通过其他变量: var numberOf
this[1,2] = "some output";
如果我知道密钥将由两个值组成,我可以这样做:
let someValue = 1;
let someOtherValue = 2;
console.log(this[someValue,someOtherValue]);
//Outputs "some output"
但是,如果我的键由若干个值“n”组成,并且我知道这一点的唯一方法是通过其他变量:
var numberOfKeys = n;
比如说,如何使用代码访问第一个值(0,0,0,0…)?
提前谢谢,我希望你能理解这个问题
编辑:
谢谢大家,我现在明白了。起初,我认为作为键传递多个值的想法不可行,但当我在JSFIDLE中尝试时,它似乎确实可行。这只是大家所指出的关于逗号运算符如何只取最后一个值的幻觉。我现在明白了,我将使用一个普通的多维数组来达到同样的效果。感谢您的帮助。您可以使用
map
映射您想要访问的键:
//您的对象
常量对象={
firstKey:“第一个值”,
secondKey:“第二个值”,
thirdKey:“第三个值”,
};
//你有多少把钥匙
常量键=['firstKey','thirdKey'];
//映射要获取的键并返回值
const result=keys.map(key=>object[key]);
//用价值观做点什么
console.log(result.join('and'))代码>这[1,2]=“一些输出”我不明白,逗号运算符的作用是什么?(除了逗号分隔列表中的最后一个表达式外,其他所有表达式都将被忽略)如果您试图为数组的两个标记指定一个值,那么您不会这样做,也不会得到它,但我认为此映射的键是一个元组?可能没有意识到(1,2)==2
“如果我知道键是由两个值组成的”在JavaScript中没有元组键这回事。这个[someValue,someOtherValue]
相当于这个[someOtherValue]
,因为逗号操作符只是丢弃左手操作数的返回值,返回右手操作数的值。