使用Javascript返回循环变量的值

Return value of loop variable with Javascript

本文关键字:变量 循环 Javascript 返回 使用      更新时间:2023-09-26

我正在寻找一个使用变量在循环中返回值的快速解决方案

有基本代码

var origins = [
    {level: '1', hp: 5600},
    {level: '2', hp: 7600},
    {level: '3', hp: 9600}
];
var text1 = "";
var text2 = "";
for (var key in origins) {
       if (origins.hasOwnProperty(key)) {
         text1 = origins[key].level;
         text2 = origins[key].hp;
       }
    }

我正在尝试调用循环变量

console.log(text1 + " " + text2)

它给了我一个我不想要的输出:

3 9600

我正在寻找一个例外的输出结果会是这样的:

1 5600
2 7600
3 9600

编辑:有JSfiddle

http://jsfiddle.net/mttweck6/2/

您需要将console.log放入循环中,或者添加到一个文本变量中,如final。见下文

var origins = [
{level: '1', hp: 5600},
{level: '2', hp: 7600},
{level: '3', hp: 9600}
];
var text1 = "";
var text2 = "";
var final = "";
for (var key in origins) {
    if (origins.hasOwnProperty(key)) {
        text1 = origins[key].level;
        text2 = origins[key].hp;
        final += "Level: " + text1 + ''n' + "HP: " + text2 + ''n';
    }
}


//I need to get external variable that would exeute in loop
alert(final);

//Excepted Result as one alert with output:
//Level 1: 5600
//Level 2: 7600
//Level 3: 9600

我认为这可能会对您有所帮助:

var origins = [
{level: '1', hp: 5600},
{level: '2', hp: 7600},
{level: '3', hp: 9600}
];
var text1 = "";
var text2 = "";
var s= "";
for (var key in origins) {
   if (origins.hasOwnProperty(key)) {
      text1 = origins[key].level;
      text2 = origins[key].hp;
      s += ''n' + "Level " + text1 + ": " + text2;
   }
}

然后再做alert(s);

var origins = [
    {level: '1', hp: 5600},
    {level: '2', hp: 7600},
    {level: '3', hp: 9600}
];
var text1 = "";
var text2 = "";
for (var key in origins) {
   if (origins.hasOwnProperty(key)) {
     text1 = origins[key].level;
     text2 = origins[key].hp;
     console.log(text1 + " " + text2);
   }
}

编辑:如果你想将结果保存为一个完整的字符串

var origins = [
    {level: '1', hp: 5600},
    {level: '2', hp: 7600},
    {level: '3', hp: 9600}
];
var text1 = "";
var text2 = "";
var result = ""; // String to print
for (var key in origins) {
   if (origins.hasOwnProperty(key)) {
     text1 = origins[key].level;
     text2 = origins[key].hp;
     result += text1 + " " + text2 + "'n";
   }
}
alert(result);

如果您想在HTML中显示这一点,只需将result += text1 + " " + text2 + "'n";替换为result += text1 + " " + text2 + "<br>";,将alert(result);替换为document.getElementById("myelem").innerHTML = result;