首页 > web前端 > js教程 > 正文

如何在 JavaScript 中截断数组?

PHPz
发布: 2023-08-30 12:41:02
转载
1261人浏览过

如何在 javascript 中截断数组?

本教程将介绍如何在 JavaScript 中截断数组。截断数组意味着从末尾删除一些元素,并将截断数组的新值赋回实际数组。

有时我们需要截断数组。假设在一种情况下,有一个数组,其中存在已排序(降序)的元素,现在我们只需要数组中的前 k 个已排序元素并删除 else 值。因此,我们不需要创建额外的数组并修改它并将其分配给实际的数组。

截断数组的方法有很多种,让我们看看所有这些方法。

语法

以下是截断数组的语法:

立即学习Java免费学习笔记(深入)”;

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

使用数组长度属性

在此示例中,我们使用数组长度属性截断数组。我们只需将所需的长度分配给数组,其大小就会根据分配的大小进行更改。

j2me3D游戏开发简单教程 中文WORD版
j2me3D游戏开发简单教程 中文WORD版

本文档主要讲述的是j2me3D游戏开发简单教程; 如今,3D图形几乎是任何一部游戏的关键部分,甚至一些应用程序也通过用3D形式来描述信息而获得了成功。如前文中所述,以立即模式和手工编码建立所有的3D对象的方式进行开发速度很慢且很复杂。应用程序中多边形的所有角点必须在数组中独立编码。在JSR 184中,这称为立即模式。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

j2me3D游戏开发简单教程 中文WORD版 0
查看详情 j2me3D游戏开发简单教程 中文WORD版
<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 be
Anand, sonu, tirupati
登录后复制

在本教程中,我们学习了如何使用数组 splice() 和 slice() 方法以及 length 属性在 JavaScript 中截断数组。

以上就是如何在 JavaScript 中截断数组?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:tutorialspoint网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号