原数据:
let arr = [
[
{price: 46, userUid: 0, item_name: '测试1', min: 41, max: 50},
{price: 87, userUid: 0, item_name: '测试1', min: 81, max: 90},
{price: 24, userUid: 89779, item_name: '测试1', min: 21, max: 30}
],
[
{price: 15, userUid: 0, item_name: '测试2', min: 11, max: 20},
{price: 58, userUid: 0, item_name: '测试2', min: 51, max: 60},
{price: 92, userUid: 0, item_name: '测试2', min: 91, max: 100},
{price: 103, userUid: 0, item_name: '测试2', min: 101, max: 110},
],
[
{price: 9, userUid: 43062, item_name: '测试3', min: 1, max: 10},
{price: 65, userUid: 0, item_name: '测试3', min: 61, max: 70},
],
[
{price: 36, userUid: 0, item_name: '测试4', min: 31, max: 40},
{price: 72, userUid: 0, item_name: '测试4', min: 71, max: 80}
]
]
根据arr数组里面的price字段排序
期望得到:
let items = [
[
{price: 9, userUid: 43062, item_name: '测试3', min: 1, max: 10},
{price: 46, userUid: 0, item_name: '测试1', min: 41, max: 50},
{price: 87, userUid: 0, item_name: '测试1', min: 81, max: 90},
],
[
{price: 15, userUid: 0, item_name: '测试2', min: 11, max: 20},
{price: 58, userUid: 0, item_name: '测试2', min: 51, max: 60},
{price: 92, userUid: 0, item_name: '测试2', min: 91, max: 100},
{price: 103, userUid: 0, item_name: '测试2', min: 101, max: 110},
],
[
{price: 24, userUid: 43062, item_name: '测试1', min: 1, max: 10},
{price: 65, userUid: 0, item_name: '测试3', min: 61, max: 70},
],
[
{price: 36, userUid: 0, item_name: '测试4', min: 31, max: 40},
{price: 72, userUid: 0, item_name: '测试4', min: 71, max: 80}
]
]
麻烦各位大佬帮我看看
arr.forEach(subArray => {
subArray.sort((a, b) => a.price - b.price);
});
let items = arr;
console.log(items);
在JavaScript中,你可以使用数组的map
方法结合sort
方法来根据sort
属性对每个relationPosition
数组进行排序。这里的关键是遍历外层数组(arr
),并对每个元素的relationPosition
属性进行排序。
以下是一个实现这一功能的示例代码:
let arr = [
{
item_level_name: "测试1",
item_name: "测试1",
item_stock: 3,
item_type: 1,
relationPosition: [
{sort: 46, is_del: 0,is_use: 1,lottery_item_id: 92,lottery_uid: 0},
{sort: 87, is_del: 0,is_use: 1,lottery_item_id: 92,lottery_uid: 0},
{sort: 24, is_del: 0,is_use: 1,lottery_item_id: 92,lottery_uid: 0},
]
},
// 其他元素...
];
// 使用map遍历数组,并对每个元素的relationPosition进行排序
arr = arr.map(item => ({
...item, // 展开当前项,保持其他属性不变
relationPosition: item.relationPosition.sort((a, b) => a.sort - b.sort) // 根据sort属性排序
}));
console.log(arr);
上述代码通过map
函数遍历arr
数组中的每个元素,并使用sort
函数对每个元素的relationPosition
数组进行排序。这里使用了箭头函数和扩展运算符(...
)来保持元素的其他属性不变,只修改relationPosition
属性。排序函数(a, b) => a.sort - b.sort
表示按照sort
属性的升序进行排序。
注意,你的期望输出中测试1
的relationPosition
排序似乎有误,因为它包含了一个sort: 9
的对象,这在原始数据中并不存在。我假设这是一个笔误,因此上述代码按照原始数据的sort
值进行排序。如果你的意图是展示一个不同的排序结果,请相应调整数据或排序逻辑。
按列对数组进行排序,就像我想在这里对最后一行上的值进行排序一样,根据排序结果,同一行中其他列上的数字也可能会发生变化 例如
问题内容: 请原谅我这是多余的还是超基本的。我要从R进入Python / Numpy,并且很难在脑海里翻转事物。 我有一个维数组,我想使用索引值的另一个n维数组进行排序。我知道我可以将其包装成一个循环,但是似乎应该有一种非常简洁的Numpyonic方式将其击败并提交。这是设置n = 2的问题的示例代码: 所以现在我有一个2 x 5的随机数数组和2 x 5的索引。我已经阅读了约10次帮助,但显然我的
问题内容: 我已经实现了冒泡排序来对二维java long [] []进行排序,但是我的天哪太慢了,我将需要禁食算法,因为我将生成最大堆大小的数组,jvm将允许我, 所以我认为最好和最快的方法是使用内置的java Arrays.sort 我不介意它是否只能在第一列上排序,因为我可以更改程序以适合它,但我碰到了这一点,但对陌生人并不熟悉, 这将使我能够对整数的维数组进行排序,有人知道如何将其更改为允
编写一个程序,提示用户输入一个双值nxn矩阵,并显示一个新的矩阵,其中对初始矩阵的列进行了排序。您可以使用任何排序算法来解决问题;请在代码头中指定所用排序算法的名称。您的程序必须实现排序算法;不能使用Array类中提供的排序方法。排序应该实现到一个方法中,其中返回一个新数组,而原始数组保持不变: 该程序还应该实现一个方法,打印初始和结果矩阵给用户。打印出来的应该是很好的格式。下面是一个运行示例:
问题内容: 我将向您展示有关该问题的目的的示例。我之前拥有的数组以及排序后如何使用它: 之前: 之后: 我们在int矩阵中工作: 排序基于第二列Weight.Am,以查找对数据数组进行排序的过程。 我尝试了这个,但不幸的是我没有找到正确的泡菜排序方法。请问有帮助吗? 问题答案: 使用带有自定义。 作为shmosel 下文提到的,与Java 8中,您可以使用:
原数据: 根据arr数组里面的price排序 arr数组根据res里面的item_type对应的值生成的 期望得到: 麻烦各位大佬帮我看看 问题已解决,谢谢各位大佬们。