如何将数组转换为数字?

时间:2018-01-27 16:36:21

标签: javascript arrays

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循环,因为该部分需要它并且它比其他方法更简单。希望最少量的更改提供字符串中的ant xxx的数量,这将在分割后生成,在for循环中运行,并使用startsWith进行排序...我知道还有其他方法,但我正在寻找最简单的。我以前不清楚它,但现在很清楚。

3 个答案:

答案 0 :(得分:2)

使用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));

答案 1 :(得分:1)

已有内置功能。<​​/ p>

使用String.prototype.split()函数创建数组,使用逗号作为分隔符,然后使用Array.length计算数组中的元素数。

pip

答案 2 :(得分:1)

尝试使用.vue功能进行拆分。它将返回一个数组。你不需要将for循环推送到一个单独的数组。

split