简体   繁体   English

使用 Javascript 返回循环变量的值

[英]Return value of loop variable with Javascript

I'm looking a quick solution to return value in loop using variable我正在寻找一种使用变量在循环中返回值的快速解决方案

There is base code有基本代码

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;
       }
    }

I'm trying to call loop variable我正在尝试调用循环变量

console.log(text1 + " " + text2)

It gave me an output that I didn't want:它给了我一个我不想要的输出:

3 9600

I'm looking an excepted result of output would be like this:我正在寻找一个例外的输出结果是这样的:

1 5600
2 7600
3 9600

EDIT: There is JSfiddle编辑:有 JSfiddle

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

You need to put the console.log in the loop or add to one text variable like final.您需要将 console.log 放入循环中或添加到一个文本变量中,例如 final。 See below见下文

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

I think this might help you :我认为这可能会帮助你:

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;
   }
}

Then later do alert(s);然后稍后做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);
   }
}

Edit: If you would like to save the results as an entire string编辑:如果您想将结果保存为整个字符串

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);

If you would like to display this in HTML each on their own line, just replace result += text1 + " " + text2 + "\\n";如果您想在 HTML 中各自显示此内容,只需替换result += text1 + " " + text2 + "\\n"; with result += text1 + " " + text2 + "<br>"; result += text1 + " " + text2 + "<br>"; and alert(result);alert(result); with document.getElementById("myelem").innerHTML = result;document.getElementById("myelem").innerHTML = result;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM