Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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_Jquery - Fatal编程技术网

Javascript 基于另一个数组值对数组值排序

Javascript 基于另一个数组值对数组值排序,javascript,jquery,Javascript,Jquery,我有阵列选择: var selections = ( JSON.stringify($('#approval').select2('data')) ); var selections = JSON.parse("[" + selections + "]"); 选择中的console.log为: 我想根据approvalValue数组对其进行排序,以下是数组: 我试过这个,但没用,没什么变化: var i = 0; selections.sort(function(a,b){ re

我有阵列选择:

var selections = ( JSON.stringify($('#approval').select2('data')) );
var selections =  JSON.parse("[" + selections + "]");
选择中的console.log为:


我想根据approvalValue数组对其进行排序,以下是数组:

我试过这个,但没用,没什么变化:

var i = 0;
selections.sort(function(a,b){
  return approvalValue.indexOf(a[0][i]['element']['id']) < approvalValue.indexOf(b[0][i]['element']['id']) ? -1 : 1;
 i = i+1;
});
var i=0;
选择。排序(功能(a、b){
返回approvalValue.indexOf(a[0][i][element'][id'])

如何对id分别为151149和150的选择进行排序?

尝试从第二个数组中提取id,例如(使用地图或其他方法):

然后遍历第一个数组并根据该数组对其排序:

var result = []

sorting.forEach(function(key) {
var found = false;
selections = selections.filter(function(item) {
    if(!found && item[1] == key) {
        result.push(item);
        found = true;
        return false;
    } else 
        return true;
    })
})
var result = []

sorting.forEach(function(key) {
var found = false;
selections = selections.filter(function(item) {
    if(!found && item[1] == key) {
        result.push(item);
        found = true;
        return false;
    } else 
        return true;
    })
})