这里有许多以逗号分隔的值。现在我只想数数。
值是
onBackPressed()
像:
"160,159,158,157,156,155,143,141,140,139"
在我的尝试中
160: 1
159: 2
158: 3 and so on..
请指导我,我哪里出错了?
答案 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
希望它可以帮到你!