gpt4 book ai didi

javascript - 随机从 5 个对象之一获取数据

转载 作者:行者123 更新时间:2023-11-30 15:28:25 25 4
gpt4 key购买 nike

我的代码有问题。我有 5 个对象,我想随机选择一个对象并从中获取数据。我可以使用 c1['cn'] 从其中一个对象中调用数据,所以我想如果我从 1 到 5 中选择一个数字并将该数字替换为它会从中调用数据的随机数字那个对象。

var ram = Math.floor((Math.random() * 5) +1);
var ref = 'c' + ram;
console.log(ref['cn']);

console.log 显示“未定义”

谁能告诉我我做错了什么。谢谢。

你可以在代码片段中看到我的代码。

function cardsLab (cname, dis, t1, t2, t3){
this.cn = cname;
this.d = dis;
this.s1 = t1;
this.s2 = t2;
this.s3 = t3;
}
var c1 = new cardsLab('card No1', 'blar', 8, 5, 10);
var c2 = new cardsLab('card No2', 'blar', 6, 10, 9);
var c3 = new cardsLab('card No3', 'blar', 7, 5, 3);
var c4 = new cardsLab('card No4', 'blar', 10, 4, 9);
var c5 = new cardsLab('card No5', 'blar', 8, 6, 7);


var ram = Math.floor((Math.random() * 5) +1);
var ref = 'c' + ram;
var x = ref+"['cn']";
var z = x;
console.log(x);
console.log(ref['cn']);
console.log(c1['cn']);

最佳答案

最好将所有卡片放在一个数组中。它使动态引用它们变得更加容易。它甚至意味着您可以使用 .length 属性来计算它们,而不需要硬编码数字 5。

像这样:

function cardsLab (cname, dis, t1, t2, t3){
this.cn = cname;
this.d = dis;
this.s1 = t1;
this.s2 = t2;
this.s3 = t3;
}
var cards = [];
cards[0] = new cardsLab('card No1', 'blar', 8, 5, 10);
cards[1] = new cardsLab('card No2', 'blar', 6, 10, 9);
cards[2] = new cardsLab('card No3', 'blar', 7, 5, 3);
cards[3] = new cardsLab('card No4', 'blar', 10, 4, 9);
cards[4] = new cardsLab('card No5', 'blar', 8, 6, 7);


var ram = Math.floor((Math.random() * cards.length));
var x = cards[ram];
console.log(x);

关于javascript - 随机从 5 个对象之一获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42613589/

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