使用JavaScript中的Variable将值发送到数组中

时间:2019-03-18 06:41:36

标签: javascript arrays

function fun(){
    var a=10;
    var b=20;
    document.getElementById("output1")=a;
    document.getElementById("output2")=b;
  }

这是一个JavaScript函数

var Data = [{label="1", value=output1},{label="2", value=output2}];

我希望在数组Data中使用a和b的值。但是我无法访问它。希望一个人能尽快解决这个问题。

3 个答案:

答案 0 :(得分:1)

在函数外定义ab。调用该函数以为其分配值。在Data数组而不是=中,使用:为对象中的属性赋值

var a;
var b;
function fun(){
    a=10;
    b=20;
   // document.getElementById("output1")=a;
   // document.getElementById("output2")=b;
  }
fun()

var Data = [{label:"1", value:a},{label:"2", value:b}];
console.log(Data)

答案 1 :(得分:0)

在这种情况下,

ab对于函数来说是本地的-您必须在函数外部定义它们。另外,请确保您的对象属性采用key: value而不是key = value的格式:

var a, b;
function fun() {
  a = 10;
  b = 20;
  document.getElementById("output1").innerText = a;
  document.getElementById("output2").innerText = b;
}

fun();

var Data = [{
  label: "1",
  value: a
}, {
  label: "2",
  value: b
}];

console.log(Data);
<p id="output1"></p>
<p id="output2"></p>

答案 2 :(得分:0)

宁可更改现有变量范围,

您可以从fun中返回值,然后在创建数据的另一个函数中使用它;

function fun(){
	var a=10;
	var b=20;
	//document.getElementById("output1")=a;
	//document.getElementById("output2")=b;
	return [a, b];
}

var ab = fun();
var Data = [{label: "1", value: ab[0]},{label: "2", value: ab[1]}];
console.log(Data)