繁体   English   中英

如何将数组转换为数字?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM