原数据:
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}
]
]
let res = [
{item_type: 3, title: '测试1'},
{item_type: 4, title: '测试2'},
{item_type: 2, title: '测试3'},
{item_type: 2, title: '测试4'},
]
根据arr数组里面的price排序
arr数组根据res里面的item_type对应的值生成的
期望得到:
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: 43064, item_name: '测试1', min: 21, max: 30},
{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}
]
]
麻烦各位大佬帮我看看
问题已解决,谢谢各位大佬们。
const allItems = arr.flat().sort((a, b) => {
return a.price - b.price
})
const items = []
const length = arr.length
let cursor = 0
for(let i = 0; i < length; i++){
items[i] = []
const count = arr[i].length
for(let j = 0; j < count; j++){
if (j === 0) {
cursor = i
} else {
for(let k = i; k < length; k++){
if (arr[k][j - 1]) {
cursor++
}
}
for(let k = 0; k < i; k++){
if (arr[k][j]) {
cursor++
}
}
}
items[i][j] = allItems[cursor]
}
}
console.log(items)
复杂度有点高,感觉可以优化
根据items数组里面num的值去arr数组里面拿数据,按竖向排序 期望得到数据格式: 麻烦各位大佬看看,感激不尽
let num = 600; num是最大数为600,然后根据arr数组里面的test的值之和(5+4+5+6)为20, 600 / 20 = 30; 希望得到下面的格式: 图片第一列5个输入框对应数组arr里面下标为0的test的值为5 图片第二列4个输入框对应数组arr里面下标为1的test的值为4 ... 控制1-30之间的随机数里面的输入框修改的时候只能输入1-30的数, 控制31-60之
原数据: 根据arr数组里面的price字段排序 期望得到: 麻烦各位大佬帮我看看
js 数组的数据处理 这个2数字不是固定的, 如果a这个值是2 我需要得到arr为 arr = [9] 如果a这个值是4 我需要得到arr为 arr = [7,8,9] 大佬们帮我看看
未排序数组[输入]: 数组中元素的格式将始终为: 我尝试了array.sort()函数,但没有得到预期的输出。
问题内容: 是否可以对看起来像这样的数组进行排序和重新排列: 匹配此数组的安排: 不幸的是,我没有任何要跟踪的ID。我将需要优先处理items-array,以使其尽可能接近sortingArr。 更新: 这是我正在寻找的输出: 任何想法如何做到这一点? 问题答案: 就像是: 这是一个较短的代码,但是会破坏数组: