如何将函数参数转换为数组?

时间:2019-01-27 17:00:11

标签: javascript arrays

我的函数接收2个整数参数,并返回这两个参数之间的数字。我无法将显示的数字转换为数组。

由于我应该使用两个数字,并返回一个填充有给定数字之间的所有数字的buildArray函数:buildArray(5,10)应该返回[5,6,7,8,8,9,10]

我曾尝试使用split将值转换为数组,但失败很多次。

我的代码分别打印每个值,而我需要将这些值显示在数组中。

function buildArray(a, b) {
  for (var i = 0; i <= b; i++) {
    i = a;
    console.log(a);
    a = a + 1;
  }
}
console.log(buildArray(5, 10));

3 个答案:

答案 0 :(得分:3)

这是使用原始思路的最简单版本

实现范围函数比这要复杂得多,但是由于这可行,所以我暂时建议

using (PropVariant clsId = new PropVariant(CLSID))
        { 

ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutProperties.SetValue(System Properties.System.AppUserModel.ToastActivatorCLSID, CLSID));

ShellHelpers.ErrorHelper.VerifySucceeded(newShortcutProperties.Commit());
        }

答案 1 :(得分:2)

您可以构造一个新数组,其中填充了所需长度的zeros,然后使用map()来设置值。我已经更新为通用版本,可以接受其他类型的范围。

function buildArray(a, b)
{
    let n = Math.abs(b - a);
    return Array(n + 1).fill(0).map((x, idx) => a + ((b >= a) ? idx : -idx));
}

console.log(JSON.stringify(buildArray(5, 10)));
console.log(JSON.stringify(buildArray(12, 3)));
console.log(JSON.stringify(buildArray(1, -2)));
console.log(JSON.stringify(buildArray(-1, -1)));

答案 2 :(得分:1)

尝试以下操作(使用Array.from):

MediaPlayer ring= MediaPlayer.create(MainActivity.this,R.raw.backgroundmusic);
ring.start();
ring.setLooping(true);