如何在javascript中计算逗号分隔值

时间:2017-07-19 09:05:05

标签: javascript php

这里有许多以逗号分隔的值。现在我只想数数。

Click to load image

值是

onBackPressed()

像:

"160,159,158,157,156,155,143,141,140,139"

在我的尝试中

160: 1
159: 2
158: 3 and so on..

请指导我,我哪里出错了?

6 个答案:

答案 0 :(得分:3)

我认为你想要的数不是总和。

将其拆分为并获取长度



var val="160,159,158,157,156,155,143,141,140,139";
console.log("Count : ",val.split(",").length);




如果您想要每个值的索引并计算

然后使用



var val="160,159,158,157,156,155,143,141,140,139";
val.split(",").forEach( (x,y) => console.log(x," : ",y+1));




y+1因为y是位置并且从0开始

答案 1 :(得分:1)



var numbers = "160,159,158,157,156,155,143,141,140,139";

// If you just want to count them :
var count = numbers.split(',').length;
console.log(count);

// If you want to link a value and its 'index'
var result = {};

numbers.split(',').forEach((e, i) => { 
  result[e] = i + 1;
});

console.log(result);




答案 2 :(得分:0)

要计算每个值的出现次数,您可以使用[].reduce()

const result = "160,159,158,157,156,155,143,141,140,139"
   .split(/,/)
   .reduce((counter, val) => {
      if (!counter.hasOwnProperty(val)) counter[val] = 0;
      counter[val]++;
      return counter;
    }, {});

答案 3 :(得分:0)

您可以使用String.split将其转换为数组,

然后使用reduce来计算你的值



var ans = "160,159,158,157,156,155,143,141,140,140,139".split(',').reduce((prev,curr)=>{
  if (prev[curr]) prev[curr]++;
  else prev[curr] = 1;
  
  return prev;
}, {});

console.log(ans);




答案 4 :(得分:0)

您缺少括号。 链接功能优先于标准数字操作。应该是:

var i = ('"'+checkValues+'"').split(',');

要对每个不同的值进行分组和计数,您可以使用其他建议的方法,例如:

var result = i.reduce(function(prev, curr){
  if (prev[curr]) { prev[curr]++; }
  else { prev[curr] = 1; }
  return prev;
}, {});

答案 5 :(得分:0)

php artisan migrate --path=/app/database/migrations/new_migrations

希望它可以帮到你!