将包含-和+的数据集放入列表中

时间:2018-12-01 12:31:49

标签: javascript numeric

我正在尝试解决出现的挑战,我一直在给一个包含大量包含-和+ fx的数字的数据集:

-1 +2 -4

挑战在于:设备达到两次的第一个频率是多少?

所以我想出了一个解决方案,可以将数据集分成矩阵,这样就可以进行计算了。

但是,此解决方案的第一步是将我的数据集放入列表中,以便它们像这样循环:

static

如何使用javascript做到这一点?现在,我只得到所有数字的总和...

我希望有人可以帮助编码小精灵解决这个圣诞节问题!

1 个答案:

答案 0 :(得分:0)

要将由空格分隔的数字字符串转换为数字数组,可以执行以下操作:

let str = "+3 -1 2 -1 +4 -5"; // example input;

const arr = str.split(' ');
for (let i = 0; i < arr.length; i++) arr[i] = parseFloat(arr[i]);

之后,arr将是[3, -1, 2, -1, 4, -5]

现在,如果要计算每个项目在数组中出现的数量,可以执行以下操作:

const freq = {};
for (const item of arr) {
  freq[item] = ++freq[item] || 1;
}

这将创建一个名为freq的对象,该对象将是:{ 2: 1, 3: 1, 4: 1, "-1": 2, "-5": 1 }