'Javascript Array Count and delete zero's
I have an Array let test = [0,0,0,0,0,0,0,0,0,0,3,4,5,6,3,0,0,0,0,4,6,7]
I need to count the amount of zero's from the starting point in this case "9" upto value 3
Next want to only delete the first nine entries . The remaining zero's in the rest of the array must remain.
Expected Result
Count = 9
Let Test = [3,4,5,6,3,0,0,0,0,4,6,7]
Solution 1:[1]
First of all, the result of your example should be Count = 10 because there are 10 of 0.
I suppose you want to define a function to get the result. That can be:
const func = (arr) => {
let count = 0
for (let i in arr) {
if (arr[i] != 0) {
break
}
count++
}
return [count, arr.slice(count)]
}
// Test:
const array = [0,0,0,0,0,0,0,0,0,0,3,4,5,6,3,0,0,0,0,4,6,7]
console.log(`Count = ${func(array)[0]}, Array = ${func(array)[1]}`)
// Result should be Count = 10, Array = [3,4,5,6,3,0,0,0,0,4,6,7]
Solution 2:[2]
Please try the following code :
function firstZeros(r) {
var c = 0,s=true,nr=[];
for(let ri of r){
if(s && ri==0){
c++;
}else{
s=false;
nr.push(ri);
}
}
return {'count':c,'data':nr};
}
let test = [0,0,0,0,0,0,0,0,0,3,4,5,6,3,0,0,0,0,4,6,7];
let res = firstZeros(test);
console.log('Count='+res.count);
console.log('Test='+res.data);
Thanks
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Pran Paul |
