(JavaScript)如何将数组中的所有对象作为对象列表返回?

时间:2015-07-09 16:50:33

标签: javascript arrays

基本上,我想使用数组作为我的参数列表。但是,该函数有一个名为ranges:[]的参数,我的特定范围列表应该放在那里。

我的代码如下:

  var args = new Array();

  args.push({ color: '#c1f5b0', start: 0, length: 5 })
  args.push({ color: '#c1f5b0', start: 6, length: 5 })

   $('#demo').someFunc({
      ranges: [
        //list of objects goes here
      ]
  });

基本上,我希望打印对象列表为args [0],args [1]。显然,将语法args[0], args[1]放入范围会产生我想要的行为。但它并不总是必然是数组中的两个元素。我尝试了args.join(),但只是将数组内容作为字符串返回。在args中简单地使用console.log(args)可以准确地给出我想要的行为,但我无法在ranges: [ ] code内重现该行为。

3 个答案:

答案 0 :(得分:3)

在开始之前,请记住,JS列表和数组是相同的。

如果要使用参数数组调用函数:

someFunc.apply($('#demo'), args);

如果您想参加args数组:

someFunc({ranges: args.slice(0, 10)});

如果要将数组分解为参数,请使用ES6:

someFunc({ranges: [...args]});

答案 1 :(得分:2)

将数组作为'ranges'参数的值传递。您不需要创建新的数组文字。

$('#demo').someFunc({
    ranges: args
});

答案 2 :(得分:1)

也许你可以试试:

$('#demo').someFunc({
  ranges: args
});