Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Function_Concat - Fatal编程技术网

JavaScript。需要在函数内连接两个数组

JavaScript。需要在函数内连接两个数组,javascript,arrays,function,concat,Javascript,Arrays,Function,Concat,我有两个对象数组。我在一个函数之前将它们浓缩。我还有一个函数,可以根据数组的道具对数组进行排序。可见性有问题 我需要做什么 我需要将我的两个数组放在函数中,并将它们连接到函数中,最后我希望函数具有这样的结构: 功能排序(arr1、arr2、键){ ... } 只需输入console.log我的函数即可 谢谢你的帮助 const listObjects = [ {name: 'Kolya', age: 34}, {name: 'Valya', age: 1}, {name:

我有两个对象数组。我在一个函数之前将它们浓缩。我还有一个函数,可以根据数组的道具对数组进行排序。可见性有问题

我需要做什么

我需要将我的两个数组放在函数中,并将它们连接到函数中,最后我希望函数具有这样的结构:

功能排序(arr1、arr2、键){ ... }

只需输入console.log我的函数即可

谢谢你的帮助

const listObjects = [
    {name: 'Kolya', age: 34},
    {name: 'Valya', age: 1},
    {name: 'Nesver', age: 24},
    {name: 'Valera', age: 61},
    {name: 'Ira', age: 15}
];

const people = [
    {name: 'Andrey', age: 26, budget: 101000},
    {name: 'Masha', age: 25, budget: 80000},
    {name: 'Dima', age: 18, budget: 90000},
    {name: 'Egor', age: 45, budget: 151000},
    {name: 'Sveta', age: 14, budget: 70000},
    {name: 'Stas', age: 21, budget: 30000},
    {name: 'Dasha', age: 17, budget: 15000}
];


const x = listObjects.concat(people);

function sortBy(key) {

    let sortOrder = 1;
    if(key[0] === "-") {
        sortOrder = -1;
        key = key.substr(1);
    }
    return function (a,b) {
        let result = (a[key] < b[key]) ? -1 : (a[key] > b[key]) ? 1 : 0;
        return result * sortOrder;
    }
}

console.log(x.sort(sortBy('name')));
const listObjects=[
{姓名:'Kolya',年龄:34},
{姓名:'Valya',年龄:1},
{姓名:'Nesver',年龄:24},
{姓名:'Valera',年龄:61},
{姓名:'Ira',年龄:15}
];
康斯特人=[
{姓名:'Andrey',年龄:26岁,预算:101000},
{姓名:'Masha',年龄:25岁,预算:80000},
{姓名:'Dima',年龄:18岁,预算:90000},
{姓名:'Egor',年龄:45岁,预算:151000},
{姓名:'Sveta',年龄:14岁,预算:70000},
{姓名:'Stas',年龄:21岁,预算:30000},
{姓名:'Dasha',年龄:17岁,预算:15000}
];
const x=listObjects.concat(人);
功能排序(键){
设sortOrder=1;
如果(键[0]=“-”){
sortOrder=-1;
key=key.substr(1);
}
返回函数(a,b){
设结果=(a[key]b[key])?1:0;
返回结果*排序器;
}
}
log(x.sort(sortBy('name'));
{姓名:“Kolya”,年龄:34},
{姓名:“Valya”,年龄:1},
{姓名:“Nesver”,年龄:24},
{姓名:“瓦莱拉”,年龄:61},
{姓名:“爱尔兰共和军”,年龄:15}
];
康斯特人=[
{姓名:“安德烈”,年龄:26岁,预算:101000},
{姓名:“玛莎”,年龄:25岁,预算:80000},
{姓名:“迪马”,年龄:18岁,预算:90000},
{姓名:“埃戈尔”,年龄:45岁,预算:151000},
{姓名:“Sveta”,年龄:14岁,预算:70000},
{姓名:“Stas”,年龄:21岁,预算:30000},
{姓名:“Dasha”,年龄:17岁,预算:15000}
];
const x=listObjects.concat(人);
console.log(
x、 排序(功能(a、b){
var x=a.name.toLowerCase();
var y=b.name.toLowerCase();
if(xy){
返回1;
}
返回0;
})
);
你可以这样做。

{name:“Kolya”,年龄:34},
{姓名:“Valya”,年龄:1},
{姓名:“Nesver”,年龄:24},
{姓名:“瓦莱拉”,年龄:61},
{姓名:“爱尔兰共和军”,年龄:15}
];
康斯特人=[
{姓名:“安德烈”,年龄:26岁,预算:101000},
{姓名:“玛莎”,年龄:25岁,预算:80000},
{姓名:“迪马”,年龄:18岁,预算:90000},
{姓名:“埃戈尔”,年龄:45岁,预算:151000},
{姓名:“Sveta”,年龄:14岁,预算:70000},
{姓名:“Stas”,年龄:21岁,预算:30000},
{姓名:“Dasha”,年龄:17岁,预算:15000}
];
const x=listObjects.concat(人);
console.log(
x、 排序(功能(a、b){
var x=a.name.toLowerCase();
var y=b.name.toLowerCase();
if(xy){
返回1;
}
返回0;
})
);

你可以这样做。

你在找这个:
(a,b,key)=>a.concat(b).排序(按(key))
?@georg你能解释一下我如何在我的函数中使用它吗?这个片段回答了你的要求:“我需要将我的两个数组放在函数中,并将它们合并到函数中,最后我想要一个这样结构的函数:function sortBy(arr1,arr2,key){…}”我不确定你的问题是什么,你的代码似乎工作得很好。你能试着重新表述它吗“。不知道你的意思你在找这个:
(a,b,key)=>a.concat(b)。排序(按(key))
?@georg你能解释一下我如何在函数中使用它吗?这个片段回答了你的要求:“我需要将我的两个数组放在函数中,并将它们合并到函数中,最后我想要一个这样结构的函数:function sortBy(arr1,arr2,key){…}”我不确定你的问题是什么,你的代码似乎工作得很好。你能试着重新表述一下吗。“可见性问题”。不确定你的意思
  { name: "Kolya", age: 34 },
  { name: "Valya", age: 1 },
  { name: "Nesver", age: 24 },
  { name: "Valera", age: 61 },
  { name: "Ira", age: 15 }
];

const people = [
  { name: "Andrey", age: 26, budget: 101000 },
  { name: "Masha", age: 25, budget: 80000 },
  { name: "Dima", age: 18, budget: 90000 },
  { name: "Egor", age: 45, budget: 151000 },
  { name: "Sveta", age: 14, budget: 70000 },
  { name: "Stas", age: 21, budget: 30000 },
  { name: "Dasha", age: 17, budget: 15000 }
];

const x = listObjects.concat(people);



console.log(
  x.sort(function(a, b) {
    var x = a.name.toLowerCase();
    var y = b.name.toLowerCase();
    if (x < y) {
      return -1;
    }
    if (x > y) {
      return 1;
    }
    return 0;
  })
);