本教程将介绍如何在 javascript 中截断数组。截断数组意味着从末尾删除一些元素,并将截断数组的新值赋回实际数组。
有时我们需要截断数组。假设在一种情况下,有一个数组,其中存在已排序(降序)的元素,现在我们只需要数组中的前 k 个已排序元素并删除 else 值。因此,我们不需要创建额外的数组并修改它并将其分配给实际的数组。
截断数组的方法有很多种,让我们看看所有这些方法。
语法以下是截断数组的语法:
arr.splice(index, howmany); // the splice() method.arr.length=idx; // array length property.
这里arr是原始数组。 idx 是我们要截断数组的索引/位置。 索引是要删除元素的位置,多少是要从数组中删除的元素数量。
算法step 1 - 创建一个数组 arr 并向其中添加元素。使用innerhtml 属性显示arr。step 2 - 对数组 arr 应用 splice() 方法,传递 index 和 howmany 作为参数。或者,我们可以应用 arr.length=idx。第 3 步 - 使用innerhtml 属性显示截断的数组。示例 1使用array splice()方法
在下面的示例中,我们使用数组 splice() 方法来截断数组。我们定义了一个包含七个元素的数组。我们截断了位置 3 以外的元素。
<html><head> <title>example- truncate an array in javascript</title></head><body> <h3>truncate an array using splice() method-</h3> <p id=before>array before truncate:<br></p> <p id=after>array after truncate:<br></p> <script> let arr = [kalyan, ashis, anand, sonu, tirupati, nagar, arjun]; document.getelementbyid('before').innerhtml+=arr arr.splice(4, arr.length); document.getelementbyid('after').innerhtml+=arr </script></body></html>
示例 2使用数组长度属性
在此示例中,我们使用数组长度属性截断数组。我们只需将所需的长度分配给数组,其大小就会根据分配的大小进行更改。
<html><head> <title>example- truncate an array in javascript</title></head><body> <h3>truncate an array using array length property-</h3> <p id=before>array before truncate:<br></p> <p id=after>array after truancate:<br></p> <script> let arr = [kalyan, ashis, anand, sonu, tirupati, nagar, arjun]; document.getelementbyid('before').innerhtml+=json.stringify(arr) arr.length=4 document.getelementbyid('after').innerhtml+=json.stringify(arr) </script></body></html>
这里我们使用 arr.length=4 将数组更改为大小 4。它获取了前 4 个元素,之后所有元素都从数组中删除。
它有一个缺点,我们只能获取从起始索引 0 到给定大小的元素,这与拼接不同,我们可以选择定义起始索引和结束索引。
现在您可能会想到一个问题。如果我们分配的大小大于数组长度怎么办?然后我们在数组大小之后得到一个未定义的数组元素。
示例 3在下面的示例中,我们定义一个长度为 7 的数组,然后分配大于数组长度的大小。
<html><body> <p id=result1><p> <p id=result2><p> <script> let arr = [kalyan, ashis, anand, sonu, tirupati, nagar, arjun]; arr.length=15 document.getelementbyid('result1').innerhtml=json.stringify(arr); document.getelementbyid('result2').innerhtml=arr[13]; </script></body></html>
这里我们将数组大小从 7 更改为 15,而不添加数组中的元素。请注意,从索引 7 到 14 的元素为空。
示例 4使用array slice()方法
在下面的示例中,我们使用数组 slice() 方法来截断数组。数组slice() 方法不会更改原始数组,它只返回元素根据给定的论点。所以我们需要将返回的元素存储在一个变量中。
我们定义了一个包含七个元素的数组。我们截断了位置 3 以外的元素。
<html><head> <title>example- truncate an array in javascript</title></head><body> <h3>truncate an array using slice() method</h3> <p id=before>array before truncate:<br></p> <p id=after>array after truncate:<br></p> <script> let arr = [kalyan, ashis, anand, sonu, tirupati, nagar, arjun]; document.getelementbyid('before').innerhtml+=arr arr = arr.slice(0, 4); document.getelementbyid('after').innerhtml+=arr </script></body></html>
这里 arr = arr.slice(0, 4); 0 是数组的起始索引,4 是结束索引,直到我们要拼接数组为止,在给定的起始索引之前和结束索引之后,所有元素都将被避免,然后我们将更新后的数组分配给实际数组。if arr = arr.slice(2, 5); will be there then output will beanand, sonu, tirupati
在本教程中,我们学习了如何使用数组 splice() 和 slice() 方法以及 length 属性在 javascript 中截断数组。
以上就是如何在 javascript 中截断数组?的详细内容。