Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在for循环中动态更改密钥_Javascript_Arrays_Javascript Objects - Fatal编程技术网

Javascript 如何在for循环中动态更改密钥

Javascript 如何在for循环中动态更改密钥,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我希望能够在for循环中更改键,很难解释我需要什么,所以我根据游戏场地制作了一个演示 我需要能够根据逻辑交换键,因为数组数据键将根据json提要而改变,因此无法硬编码键 提前谢谢 <!DOCTYPE html> <html> <body> <h2>JavaScript Loops</h2> <p id="demo"></p> <script> var cars = [{"name":"BMW"

我希望能够在for循环中更改键,很难解释我需要什么,所以我根据游戏场地制作了一个演示

我需要能够根据逻辑交换键,因为数组数据键将根据json提要而改变,因此无法硬编码键

提前谢谢

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Loops</h2>

<p id="demo"></p>

<script>

var cars = [{"name":"BMW", "colour":"blue"}, {"name":"Volvo", 
"colour":"green"}, {"name":"Saab", "colour":"pink"}, {"name":"Ford", 
"colour":"grey"}, {"name":"Fiat", "colour":"yellow"}, {"name":"Audi", 
"colour":"silver"}];

var text = "";
var i;
for (i = 0; i < cars.length; i++) {

var keyToChoose = "name"; /// or I could choose "colour"

text += cars[i].keyToChoose + "<br>";  /// how do I dynamically change 'keyToChoose'?

}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

JavaScript循环

var cars=[{“名称”:“宝马”,“颜色”:“蓝色”},{“名称”:“沃尔沃”, “颜色”:“绿色”},{“名称”:“萨博”,“颜色”:“粉色”},{“名称”:“福特”, “颜色”:“灰色”},{“名称”:“菲亚特”,“颜色”:“黄色”},{“名称”:“奥迪”, “颜色”:“银色”}]; var text=“”; var i; 对于(i=0;i”;///如何动态更改“keytochose”? } document.getElementById(“demo”).innerHTML=text;
您可以这样使用它

text += cars[i][keyToChoose] + "<br>";
text+=cars[i][keytochose]+“
”;

现在,它取决于变量keytochose的值。

您可以使用全局变量来决定密钥

<script>

// 1 = name , 2 = colour
var currentKey = 1;

var cars = [{"name":"BMW", "colour":"blue"}, {"name":"Volvo", 
"colour":"green"}, {"name":"Saab", "colour":"pink"}, {"name":"Ford", 
"colour":"grey"}, {"name":"Fiat", "colour":"yellow"}, {"name":"Audi", 
"colour":"silver"}];

var text = "";
var i;
for (i = 0; i < cars.length; i++) {

// the key is chosen based on the currentKey which can be made a global variable and changed dynamically.
var keyToChoose = currentKey === 1 ? "name" : "colour";

text += cars[i].keyToChoose + "<br>";  /// how do I dynamically change 'keyToChoose'?

}
document.getElementById("demo").innerHTML = text;
</script>

//1=名称,2=颜色
var-currentKey=1;
var cars=[{“名称”:“宝马”,“颜色”:“蓝色”},{“名称”:“沃尔沃”,
“颜色”:“绿色”},{“名称”:“萨博”,“颜色”:“粉色”},{“名称”:“福特”,
“颜色”:“灰色”},{“名称”:“菲亚特”,“颜色”:“黄色”},{“名称”:“奥迪”,
“颜色”:“银色”}];
var text=“”;
var i;
对于(i=0;i”;///如何动态更改“keytochose”?
}
document.getElementById(“demo”).innerHTML=text;

谢谢!,这让我哑口无言好几个小时了,保重