JavaScript 中数组去除前导零
本文的任务是在 JavaScript 中移除数组中的前导零。在深入了解示例之前,让我们通过查看下面的输入-输出场景来了解问题。
输入-输出场景
让我们来看一些输入-输出场景 -
假设我们有一个包含元素的数组,其中数组中的起始元素为零,任务是移除这些前导零。
Input = [0, 0, 0, 5, 67, 12, 4, 0, 5]; Output = [5, 67, 12, 4, 0, 5]
现在,考虑另一种场景,其中数组中没有前导零。
Input = [4, 0, 71, 3, 6, 0 ,5]; Output = [4, 0, 71, 3, 6, 0, 5]
我们在本文中使用多种方法执行给定的任务。让我们逐一查看它们并提供相应的示例。
使用 shift() 方法
JavaScript 中的 shift() 方法会移除数组中的第一个元素,并返回该移除的元素。此方法会修改(更改)数组的长度。
语法
以下是 JavaScript 中 shift() 方法的语法 -
shift();
其中,
shift() 方法将返回从数组中移除的元素,如果数组为空则返回 undefined。
示例
在下面的示例中,
我们创建了一个包含一些元素的数组。为了移除数组中的前导零,我们使用了 shift() 方法。
只要在任何索引处存在 0,直到非零索引,shift() 方法就会移除它们。
前导非零元素之后的元素将被推入我们创建的空数组中。
<!DOCTYPE html>
<html>
<head>
<title>Remove leading zeros in array - JavaScript</title>
</head>
<body>
<script>
const removeLeadingZeros = array => {
let i=0;
let ResArr = [];
while(array[i]===0) {
array.shift();
}
while(i<array.length){
ResArr.push(array[i]);
i++;
}
document.write(ResArr);
}
removeLeadingZeros(array = [0,0,4,0,23,43,7,0,6]);
document.write("<br>");
document.write("The length of array after removing the leading zero's: ", array.length);
</script>
</body>
</html>
如输出所示,数组中的前导零已被移除,前导零之后的其余元素被推入结果数组。移除前导零后,原始数组的长度减小了。
示例:使用一元 + 运算符
在下面的示例中,
我们在数组中有一个字符串值,其中包含前导零。我们使用了一元加号 (+) 运算符来移除数字中的前导零。
一元加号 (+) 运算符将通过移除所有前导零将字符串值转换为数字值。
<!DOCTYPE html>
<html>
<head>
<title>Removing leading zeros</title>
<button onClick = "func()"> Click! </button>
<p id = "para"></p>
</head>
<body>
<script>
function func(){
const number = ['00013040079'];
const LeadingZeros = +number;
document.getElementById("para").innerHTML = "Number after leading zero's are removed: " + LeadingZeros;
};
</script>
</body>
</html>
在输出中,数字内的字符串值通过移除前导零转换为数字值。
使用 indexOf() 方法
JavaScript 中的 indexOf() 方法将返回数组中值(搜索值)第一次出现的索引。如果未找到搜索值,此方法将返回 -1 作为输出。
语法
以下是 JavaScript 中 indexOf() 方法的语法 -
array.indexOf(searchElement, startIndex)
其中,
参数(searchElement)是要在数组中搜索的元素。
参数(startIndex)是要开始搜索的索引。
示例
在下面的示例中,我们有一些数组元素,其中包含一些前导零。我们使用了 indexOf() 方法来移除数组中的前导零。只要在数组的起始索引处存在 0,shift() 方法就会移除它们。
<!DOCTYPE html>
<html>
<head>
<title>Removing leading zeros</title>
<button onClick = "rec()"> Click! </button>
<p id = "para"></p>
</head>
<body>
<script>
function rec(){
const remove = array => {
if (array.indexOf(0) === 0) {
array.shift();
};
};
remove(array = [0, 0, 3, 7, 10, 0, 33, 0]);
document.getElementById("para").innerHTML = array;
};
</script>
</body>
</html>
如输出所示,数组中的前导零已被移除,并返回前导零之后的其余元素。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP