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被偷了…:-)