在 JavaScript 中重新排序数组的元素

数组是每种编程语言的重要组成部分,因为它们包含许多有序元素。

与其他语言相比,JS 数组可能在同一矩阵的不同索引中包含不同的数据类型。

所有这些项目都通过索引访问。在 JavaScript 中,数组是包含指定键(数字键)的值的常规对象。

数组是具有固定数字键和动态值的 JavaScript 对象,在单个变量中包含任意数量的数据。

数组可以是任何维度的(一维或多维)。JavaScript 数组可以存储任何东西,例如直接值或存储 JavaScript 对象。

1.splice()在JavaScript中重试列表元素列表

splice()方法改变或修改原始数组的内容。这是通过删除、替换现有项目并在其位置添加新项目来完成的。

句法

splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2, itemN)

JavaScript splice 方法接受三个输入参数,其中第一个是start. 必需的参数指定数组的起始索引/位置以改变数组。

如果开始索引大于数组的长度,则将开始设置为数组的长度。在这种情况下,不会删除任何元素,但该方法的行为类似于加法函数。

这将开始添加与提供的元素一样多的元素n*。如果为负数,则从数组末尾的那么多元素开始。

deleteCount是第二个参数。它是一个可选参数。

此参数指定要从一开始就删除的数组元素的数量。IfdeleteCount被省略或其值等于或大于array.length - start

从数组的开头到结尾的所有元素都被删除或删除。deleteCount如果是0或负数,则不会删除或删除任何元素。

在这种情况下,您至少需要输入一个新项目。

itemN...是第三个也是最后一个参数,一个可选参数。需要添加到数组中的元素在此参数中指定,从开头开始。

如果不指定项,splice()则仅消除数组的元素。

此方法返回一个包含已删除项目的替换数组。如果只删除 n 个元素,则返回一个包含 n 个元素的数组。

如果没有元素被删除,则返回一个空数组。有关详细信息,请参阅splice方法文档。

const inputArray = [1, 2, 3, 4, 5];
inputArray.splice(2, 0, inputArray.splice(0, 1)[0]);
console.log(inputArray);

在上面的示例中,我们指定了数组中的各种元素。假设您要提取元素1并将其插入到3和之间4。 

提取 后1,它将影响原始inputArray数组并返回包含元素的数组1

我们想将1 deleteCount参数插入为0. 现在您可以将此提取的元素分配到所需的位置。

在任何浏览器中运行上述代码后,它会打印出类似这样的内容。

输出:

[2, 3, 1, 4, 5]

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript有多种排序方法可以对数组进行排序。根据提供的引用内容,我们可以使用以下几种方法进行排序: 方法一:使用sort()函数和自定义比较函数进行排序。可以通过传入一个比较函数作为参数来指定排序的方式。比较函数接受两个参数a和b,如果a应该排在b的前面,则返回一个负数,如果a应该排在b的后面,则返回一个正数,如果a和b相等,则返回0。例如,可以使用该方法对数组arr进行排序: var arr = [123, 203, 23, 13, 34, 65, 65, 45, 89, 13, 1]; function compare(a, b) { return a - b; } arr.sort(compare); console.log(arr); // 输出:[1, 13, 13, 23, 34, 45, 65, 65, 89, 123, 203] 方法二:使用快速排序算法进行排序。快速排序是一种分治的排序算法,它通过选择一个基准元素,把数组分成两个子数组,将小于基准的元素放在左边,将大于基准的元素放在右边,然后递归地对子数组进行排序。可以使用以下代码实现快速排序: var arr = [123, 203, 23, 13, 34, 65, 65, 45, 89, 13, 1]; function quickSort(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2); var pivot = arr.splice(pivotIndex, 1); var left = []; var right = []; for (var i = 0; i < arr.length; i++) { if (arr[i] < pivot) { left.push(arr[i]); } else { right.push(arr[i]); } } return quickSort(left).concat([pivot], quickSort(right)); } console.log(quickSort(arr)); // 输出:[1, 13, 13, 23, 34, 45, 65, 65, 89, 123, 203] 方法三:使用冒泡排序算法进行排序。冒泡排序是一种简单的排序算法,它通过多次遍历数组,比较相邻元素的大小并交换位置,将较大的元素逐步“冒泡”到数组的末尾。可以使用以下代码实现冒泡排序: var arr = [123, 203, 23, 13, 34, 65, 65, 45, 89, 13, 1]; for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } console.log(arr); // 输出:[1, 13, 13, 23, 34, 45, 65, 65, 89, 123, 203] 以上是三种常见的JavaScript数组排序方法。根据不同的需求和数据规模,选择不同的排序方法可以提高排序效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值