gpt4 book ai didi

javascript - 无法使用变量动态访问对象属性

转载 作者:行者123 更新时间:2023-12-03 00:44:01 26 4
gpt4 key购买 nike

我正在尝试使用变量添加查找对象的属性,但它不起作用。当我写变量的对象名称 iso 时,它正在工作,尽管变量和对象名称完全相同..

function calCulate(nrs){
const product = {DE2599:{name:"tet", bar:2.5, price: 3.5}};
var nr = document.getElementById(nrs).value;
var sku = ("prod" + nr);
var qty = ("qty" + nr);
var pric = ("price"+nr);
var pal = ("pallet"+nr);
var ctry = document.getElementById('country').value;
var x = document.getElementById(qty).value;
var test = document.getElementById(prod).value;
var tests = test.toString(); // way of getting the result
var testr = tests.indexOf(" "); // way of getting the result
var testt = tests.slice(0,testr); // way of getting the result
var uniqueID = ctry+testt; // this value returns DE2599
var mywindow = window.open('','PRINT','height=800,width=800');
var ter = product.uniqueID; // I use uniqueID because it can vary
var tar = ter.price;
mywindow.document.write(tar); // this is not showing any result; but if I change the uniqueID with the actualy key, ie DE2599, it is working correctly

最佳答案

uniqueId 不是 product 的属性,因此您的 ter 将存储 undefined (您应该收到 tar 错误)。

当需要使用变量的值来访问对象的属性时,需要使用括号表示法。

const product = {DE2599:{name:"tet", bar:2.5, price: 3.5}};
let uniqueId = 'DE2599';

console.log('with dot notation');
console.log(product.uniqueId);
console.log('with bracket notation');
console.log(product[uniqueId]);

关于javascript - 无法使用变量动态访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53322199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com