Javascript 如何删除以0开头的数组中的项?

Javascript 如何删除以0开头的数组中的项?,javascript,arrays,Javascript,Arrays,我有一个数组,看起来像这样: boxes = ["2 x Apples", "1 x Banana", "", "1 x Pear", "1 x Plum", ""] ["2 x Apples", "1 x Banana", "0 x Orange", "1 x Pear", "1 x Plum", "0 x Grapes"] "2 x Apples 1 x Banana 0 x Orange 1 x Pear 1 x Plum 0 x Grapes" 当我运行这段代码时: var

我有一个数组,看起来像这样:

 boxes = ["2 x Apples", "1 x Banana", "", "1 x Pear", "1 x Plum", ""]
 ["2 x Apples", "1 x Banana", "0 x Orange", "1 x Pear", "1 x Plum", "0 x Grapes"]
 "2 x Apples 1 x Banana 0 x Orange 1 x Pear 1 x Plum 0 x Grapes"
当我运行这段代码时:

var BoxOut = cleanArray(boxes);
var Tex = BoxOut.join("\n");

function cleanArray(actual){
  var newArray = new Array();
  for(var i = 0; i<actual.length; i++){
      if (actual[i]){
        newArray.push(actual[i]);
    }
  }
  return newArray;
}
有人建议将这些项目放在一张表中,并计算每个项目的数量。我这样做是因为javascript接受变量var apples;作为字符串,计数结果是11个苹果(串联而不是加法),我必须将变量声明为var apples=0

这导致阵列的外观如下所示:

 boxes = ["2 x Apples", "1 x Banana", "", "1 x Pear", "1 x Plum", ""]
 ["2 x Apples", "1 x Banana", "0 x Orange", "1 x Pear", "1 x Plum", "0 x Grapes"]
 "2 x Apples 1 x Banana 0 x Orange 1 x Pear 1 x Plum 0 x Grapes"
现在我的字符串如下所示:

 boxes = ["2 x Apples", "1 x Banana", "", "1 x Pear", "1 x Plum", ""]
 ["2 x Apples", "1 x Banana", "0 x Orange", "1 x Pear", "1 x Plum", "0 x Grapes"]
 "2 x Apples 1 x Banana 0 x Orange 1 x Pear 1 x Plum 0 x Grapes"
是否有方法调整
cleanArray
代码,以便删除数组中包含0的项

我对JS比较陌生,答案必须是纯Javascript,因为这是我所要做的全部工作


提前感谢您

将您的if条件更改为

if (actual[i] && actual[i].substring(0, 4) !== "0 x ") {
    newArray.push(actual[i]);
}
这只会忽略以“0 x..”开头的项目,而不会忽略字符串中任何位置是否存在0。

var box=[“2 x苹果”、“1 x香蕉”、“0 x橙色”、“1 x梨”、“1 x李子”、“0 x葡萄”];
var boxes = ["2 x Apples", "1 x Banana", "0 x Orange", "1 x Pear", "1 x Plum", "0 x Grapes"];
        var resultArr = boxes.filter(function (v) {
            return v.indexOf("0") < 0;
        });
var resultar=box.filter(函数(v){ 返回v.indexOf(“0”)<0; });
试试这个:

...
if (actual[i] && !actual[i].matches(/0/) ){
    newArray.push(actual[i]);

...

这意味着;只要其中至少有一个
0
,就跳过它。

您可以在cleanArray函数中添加一个大小写来检查字符串是否以0开头。如果是这样的话,你就不要推。 在您的情况下,添加:

if(!actual[i].startsWith("0")){newArray.push(actual[i]);}

这样,它只会在没有0计数的情况下添加部件。

“其中包含0”-作为开发人员,您应该学习如何更清楚地表达您的意图。显然,它不是“has”,而是“start with”。然后,当你用正确的词组表达它时,问题变得更加清晰,而且(毫不奇怪)很容易在谷歌上搜索到。
有人建议将这些项目放在一个表中,并计算每个项目的数量。
?什么桌子?你是说一个数据库……如果是这样的话,这应该在数据库端自己完成。你用
10
做什么?如果有10个苹果呢?@Juhana 9被偷了…:-)