将值动态传递给name = {};并获得特定的价值观

时间:2014-02-28 20:52:30

标签: javascript

var Clientnametotal=["Raj","Raj","Kumar"]


 Clientnametotal.forEach(function (x) {
                        namecount[x] = (namecount[x] || 0) + 1;
}

如果我在下面写代码行,我会得到输出为2

alert(JSON.stringify(namecount.Raj));

但我需要像这样动态传递名称

alert(JSON.stringify(namecount.Clientnametotal[0]));

但输出就像这样[object Object]。拉吉不给出输出

我如何获得价值观?

2 个答案:

答案 0 :(得分:1)

我猜你只是在寻找括号表示法:

alert( JSON.stringify( namecount[ Clientnametotal[0] ] ) );

答案 1 :(得分:1)

当您必须处理动态键时,请使用括号语法而不是点(。)语法。

alert(JSON.stringify(namecount[Clientnametotal[0]]));

请注意,它对stringify一个数字没用,因为它已经被alert转换为字符串。如果您只是想将其转换为字符串,您还可以namecount[Clientnametotal[0]].toString()namecount[Clientnametotal[0]] + ''

基本上这会产生相同的结果:

alert(namecount[Clientnametotal[0]]);