[英]How do I turn an array into a number?
var beasts = 'ant 222, bison, ant 333, ant 555, goose 234';
function countAllBeasts(antMany) {
var OrigString = antMany.split(', ');
for (var i = 0; i < OrigString.length; i++){
var justAnt = OrigString[i];
;
if (OrigString.startsWith('CJ') === true){
(justAnt.length);
}
}
var forLoop = justAnt[i];
console.log(forLoop);
return justAnt;
};
更新:我仍然想使用for循环,因为本节需要它,并且它比其他方法更简单。 希望进行最少的更改以提供字符串中分割后,在for循环中运行并使用startsWith通过ant排序的蚂蚁xxx数量。我知道还有其他方法,但是我正在寻找最简单的。 我以前不清楚,但现在知道。
使用Regexp,您只需要一行代码即可完成。
// This will return 4 matches (4 commas) + 1 = count of blocks separated by comma.
new RegExp("\,", "g")
let count = 'ant 222, bison, ant 333, ant 555, goose 234'.match(new RegExp("\\,", "g")).length + 1; console.log(count);
根据您的方法: 使用基本的for-loop
function countAllBeasts(antMany) { var origString = antMany.split(', '); var ants = []; for (var i = 0; i < origString.length; i++) { if (origString[i].startsWith('ant')) ants.push(origString[i]); } return ants; } var beasts = 'ant 222, bison, ant 333, ant 555, goose 234'; console.log(countAllBeasts(beasts));
您可以使用函数filter
来完成
function countAllBeasts(antMany) { var origString = antMany.split(', '); var ants = origString.filter((block) => block.trim().startsWith('ant')); return ants; } var beasts = 'ant 222, bison, ant 333, ant 555, goose 234'; console.log(countAllBeasts(beasts));
已经有内置的功能。
使用String.prototype.split()
函数创建一个数组,使用逗号作为分隔符,然后使用Array.length
计算数组中元素的数量。
var beasts = 'ant 222, bison, ant 333, ant 555, goose 234'; var beastsArray = beasts.split(','); console.log(beastsArray.length);
尝试使用split
功能split
。 它将返回一个数组。 您不需要将for循环推送到单独的数组。
var beasts = 'ant 222, bison, ant 333, ant 555, goose 234';
var array = beasts.split(",");
console.log(array.length); // Prints 5 in the console
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.