如何“动态”获取值来自javascript中的关联数组?

发布于 2024-10-06 06:32:18 字数 625 浏览 5 评论 0原文

我试图从存储在字符串变量 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
    }

});

i am trying to get a value from a key stored on a string variable proyNombre, but whenever i call it via the common method "myAssociativeArray.MyKey", it gets the variable 'proyNombre' as the key, instead of getting its value and passing it as a key.

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
    }

});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

何时共饮酒 2024-10-13 06:32:18

尝试一下:

console.log(myArray[proyNombre]);

myArray 实际上是 JavaScript 中的一个对象。您可以使用 object.propertyNameobject['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]);

Try:

console.log(myArray[proyNombre]);

myArray is actually an object in javascript. You can access object properties with object.propertyName or, object['propertyName']. If your variable proyNombre contained the name of a property (which it does) you can use the second form, like I did above. object.proyNombre is invalid - proyNombre is a variable. You can't do for example:

var myObject = {};
myObject.test = 'test string';

var s = 'test';
console.log(myObject.s); // wrong!!

but you could then do:

console.log(myObject.test);
console.log(myObject['test']);
console.log(myObject[s]);
决绝 2024-10-13 06:32:18

您需要使用与设置值相同的语法:

console.log(myArray[proyNombre]);

You need to use the same syntax you used to set the value:

console.log(myArray[proyNombre]);
眼角的笑意。 2024-10-13 06:32:18

只需使用 myArray[proyNombre] 访问该值即可。

Simply access the value with myArray[proyNombre].

聊慰 2024-10-13 06:32:18

您在作业中做得正确:myArray[proyNombre]。您可以使用相同的方法来检索变量。

如果更改:

console.log(myArray.proyNombre);
console.log(myArray.this.value);

console.log(myArray[proyNombre]);
console.log(myArray[this.value]);

您应该获得记录两次的相同值(变量 proyNombre 表示的键的值)。

确实,Javascript 没有关联数组,但 Javascript 中的对象在访问其成员时可以像关联数组一样对待。

You're doing it right in the assignment: myArray[proyNombre]. You can use the same method to retrieve the variable.

If you change:

console.log(myArray.proyNombre);
console.log(myArray.this.value);

to

console.log(myArray[proyNombre]);
console.log(myArray[this.value]);

You should get the same value (the value for the key represented by the variable proyNombre) logged twice.

It's true that Javascript doesn't have associative arrays but objects in Javascript can be treated like associative arrays when accessing their members.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文