我试图从存储在字符串变量proyNombre上的键中获取值,但每当我通过常用方法“myAssociativeArray.MyKey”调用它时,它将变量'proyNombre'作为键,而不是获取它价值并将其作为关键字传递。
proyectos.each(function(index){
var proyNombre = this.value;
if(!(proyNombre in myArray)){ // whenever the variable is undefined, define it
myArray[proyNombre] = horas[index].value-0 + minutos[index].value/60;
}
else{
console.log(myArray.proyNombre); //This doesnt work, it tries to give me the value for the key 'proyNombre' instead of looking for the proyNombre variable
console.log(myArray.this.value); //doesnt work either
}
});
答案 0 :(得分:2)
尝试:
console.log(myArray[proyNombre]);
myArray实际上是javascript中的对象。您可以使用object.propertyName
或object['propertyName']
访问对象属性。如果您的变量proyNombre
包含属性的名称(它具有),您可以使用第二种形式,就像我上面所做的那样。 object.proyNombre
无效 - proyNombre是一个变量。你做不到例如:
var myObject = {};
myObject.test = 'test string';
var s = 'test';
console.log(myObject.s); // wrong!!
但你可以这样做:
console.log(myObject.test);
console.log(myObject['test']);
console.log(myObject[s]);
答案 1 :(得分:1)
只需使用myArray[proyNombre]
访问该值。
答案 2 :(得分:1)
您需要使用与设置值相同的语法:
console.log(myArray[proyNombre]);
答案 3 :(得分:1)
你在作业中正确行事:myArray [proyNombre]。您可以使用相同的方法来检索变量。
如果你改变:
console.log(myArray.proyNombre);
console.log(myArray.this.value);
到
console.log(myArray[proyNombre]);
console.log(myArray[this.value]);
你应该得到两次相同的值(由变量proyNombre表示的键的值)。
Javascript没有关联数组,但Javascript中的对象在访问其成员时可以像关联数组一样对待。