Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据条件从二维阵列中删除单个阵列_Javascript_Arrays_Sorting_Multidimensional Array - Fatal编程技术网

Javascript 根据条件从二维阵列中删除单个阵列

Javascript 根据条件从二维阵列中删除单个阵列,javascript,arrays,sorting,multidimensional-array,Javascript,Arrays,Sorting,Multidimensional Array,我有这个数组 常量args=[[64120]、[65100]、[70150]、[5690]、[75190]、[6095]、[68110]] 我已经写了下面的代码 function sortNums(a, b) { if (a[0] !== b[0]) { return a[0] - b[0]; } else { return b[1] - a[1]; } } function longestPossible(nums) { l

我有这个数组 常量args=[[64120]、[65100]、[70150]、[5690]、[75190]、[6095]、[68110]]

我已经写了下面的代码

function sortNums(a, b) {
    if (a[0] !== b[0]) {
        return a[0] - b[0];
    } else {
        return b[1] - a[1];
    }
}


function longestPossible(nums) {

    let res = nums.map(x => +x);

    let val = [];
    for (let i = 0; i < res.length; i += 2) {
        val.push([res[i], res[i + 1]]);
    }

    val.sort(sortNums);

    let finalRes = [];
    for (i = 0; i < val.length; i++) {
        finalRes.splice(val[i][1], 0, val[i]);
    }
}
我想对上面的数组进行排序,使其成为:

[56,90],[60,95],[65,100],[68,110],[70,150],[75,190],[56,90],[60,95],[64,120],[65,100],[68,110],[70,150],[75,190]。]

排序的条件是56、60、65按升序排列,而120则在95和100之间,造成了从我目前拥有的顺序90、95、120、100的中断


排序后如何删除数组[64120]。

您可以迭代并查找/删除不需要的项

常数 args=[[64120]、[65100]、[70150]、[5690]、[75190]、[6095]、[68110]; args.sorta,b=>a[0]-b[0]| | b[1]-a[1]; console.logJSON.stringifyargs; 设i=0; 而iargs[i+1][1]{ args.i,1; 持续 } i++; }
console.logJSON.stringifyargs 您可以迭代并查找/删除不需要的项

常数 args=[[64120]、[65100]、[70150]、[5690]、[75190]、[6095]、[68110]; args.sorta,b=>a[0]-b[0]| | b[1]-a[1]; console.logJSON.stringifyargs; 设i=0; 而iargs[i+1][1]{ args.i,1; 持续 } i++; } console.logJSON.stringifyargs 你可以用

设args=[[64120]、[65100]、[70150]、[5690]、[75190]、[6095]、[68110]; args=args.sorta,b=>a[0]!=b[0]?a[0]-b[0]:b[1]-a[1] .filterx,i=>i==args.length-1 | | x[1]您可以使用

设args=[[64120]、[65100]、[70150]、[5690]、[75190]、[6095]、[68110]; args=args.sorta,b=>a[0]!=b[0]?a[0]-b[0]:b[1]-a[1]
.filterx,i=>i==args.length-1 | | x[1]删除元素的条件是什么?为什么要删除[64120]?条件似乎是数组的两边都按升序排列,如果某个元素不可能符合所述模式,则将其删除。@iota我已更新了问题,因为我最初忘记添加该元素。请告诉我现在是否更好。谢谢移除元件的条件是什么?为什么要删除[64120]?条件似乎是数组的两边都按升序排列,如果某个元素不可能符合所述模式,则将其删除。@iota我已更新了问题,因为我最初忘记添加该元素。请告诉我现在是否更好。谢谢尼娜·斯科尔斯。永远感谢营救者,谢谢你@Nina Scholz。永远感谢营救者,非常感谢。但是有一个问题,为什么在没有JSON.stringify的情况下记录数组时JSON.stringify仍然有效?没问题。使用JSON.stringify可以在堆栈片段中更紧凑地显示。这不是一个重要的细节。你介意解释一下代码中发生了什么吗?我想我会得到它…@camelCase在分类之后,我们使用过滤器来查找要保留的项目。我们只保留排序数组中第二个元素小于或等于下一个项目的第二个元素的项目。我们还需要添加一个条件来保留最后一个项目,因为它后面没有项目。感谢您的解释。我得到了很多。但是有一个问题,为什么在没有JSON.stringify的情况下记录数组时JSON.stringify仍然有效?没问题。使用JSON.stringify可以在堆栈片段中更紧凑地显示。这不是一个重要的细节。你介意解释一下代码中发生了什么吗?我想我会得到它…@camelCase在分类之后,我们使用过滤器来查找要保留的项目。我们只保留排序数组中第二个元素小于或等于下一个项目的第二个元素的项目。我们还需要添加一个条件来保留最后一个项目,因为它后面没有项目。感谢您的解释。我明白了