从数组中删除等于零的尾随元素 - 更好的方法 [英] remove trailing elements from array that are equal to zero - better way
本文介绍了从数组中删除等于零的尾随元素 - 更好的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有很长的数组包含数字。我需要从该数组中删除尾随零。
如果我的数组看起来像这样:
var arr = [1,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0];
我想删除除之外的所有内容[1,2,0,1, 0,1]
。
我已经创建了正在进行预期的功能,但我想知道功能是否有内置功能我可以使用。
var arr = [1,2,0,1,0,1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0];
for(i = arr.length-1; i> = 0; i--)
{
if(arr [i] == 0)
{
arr.pop();
}其他{
休息;
}
}
console.log(arr);
这可以做得更好/更快吗?
var arr = [1,2,0,1, 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
您可以使用这个更短的代码:
while(arr [arr.length-1] === 0){//当最后一个元素为0时,
arr.pop(); //删除最后一个元素
}
结果:
arr == [1,2,0,1,0,1]
I have very long array containing numbers. I need to remove trailing zeros from that array.
if my array will look like this:
var arr = [1,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
I want to remove everything except [1, 2, 0, 1, 0, 1]
.
I have created function that is doing what is expected, but I'm wondering if there is a build in function I could use.
var arr = [1,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
for(i=arr.length-1;i>=0;i--)
{
if(arr[i]==0)
{
arr.pop();
} else {
break;
}
}
console.log(arr);
Can this be done better/faster?
解决方案
Assuming:
var arr = [1,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
You can use this shorter code:
while(arr[arr.length-1] === 0){ // While the last element is a 0,
arr.pop(); // Remove that last element
}
Result:
arr == [1,2,0,1,0,1]
这篇关于从数组中删除等于零的尾随元素 - 更好的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文