在javascript中向数组添加变量

时间:2016-11-14 20:17:56

标签: javascript

我正在尝试在javascript中为函数添加参数,但它不能以某种方式工作。

您能告诉我,我该如何添加它们?

我的功能如下:

EventProcessor

现在,我这样做:

EventProcessor

我可以看到带有值的“abcd”和“bcd”。

但是,现在我想添加一个更多的变量(它是动态的),我该怎么做呢

我试试这个:

UnregisterEventProcessorAsync()

如何为此数组添加更多变量

3 个答案:

答案 0 :(得分:4)

foo是一个返回对象而不是数组的函数。所以没有任何push方法。如果要向foo返回的对象添加新属性,可以执行以下操作:

// keep a reference to the object that foo returns
var obj = foo();
obj["cde"] = "value3";

或使用点符号

obj.cde = "value3";



var foo = function () {
    var a = {
        "abc":"value1",
        "bcd":"value2"
    }
    return a;
};

var obj = foo();
obj["cde"] = "value3";

console.log(obj);




答案 1 :(得分:1)

为什么不尝试如下:

var x = foo();
x["newProp"] = 33;

答案 2 :(得分:0)

如果没有传递参数,您可以使用rest parameterspread element Object.assign()返回a,否则将传递的参数设置为a对象

var foo = function foo(...props) {
  var a = {
    "abc": "value1",
    "bcd": "value2"
  }
  // if no parameters passed return `a`
  if (!props.length) return a;
  // else set passed property at `a` object
  return Object.assign(a, ...props);
};

var a = foo();
var b = foo({"cde":"value3"});
console.log(a, b);