gpt4 book ai didi

javascript - 使用位置对数组进行排序

转载 作者:行者123 更新时间:2023-11-30 07:59:26 26 4
gpt4 key购买 nike

我有一个如下所示的数组。

var FruitArr = [5, "Mango", 3, "Apple", 2, "Lychee", 1, "Banana", 4, "Pineapple"];

如何根据前面的数字对水果名称进行排序并添加到一个空数组中?该数组已存储为 position , item

预期的输出是

var newFruitArr = ["Banana", "Lychee", "Apple", "Pineapple", "Mango"];

编辑:

显示项目的原因:在我的实际代码中,水果名称是动态创建的 base64 url​​ 字符串。 base64 创建依赖于图像。因此,我想不出更好的方法来将 url 字符串添加到数组中。所以我将项目作为“所需位置”、“base64 字符串”添加到数组中。我想在所有转换完成后对它们进行排序。我确实使用了 .splice(),由于上述原因,它没有按预期工作。

最佳答案

无需排序,您的输入数组中已有索引。

只需预先分配您的新数组并填充它。

var fruits = [2, "apple", 1, "orange"],
fruitsLength = fruits.length;

var newFruitArr = new Array(fruitsLength / 2);
for (var i = 0; i < fruitsLength; i += 2)
newFruitArr[fruits[i] - 1] = fruits[i + 1];

关于javascript - 使用位置对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31939061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com