首页 > 试题广场 >

试着编写一个 arrayMerge() 函数,实现该函数被调

[问答题]
试着编写一个 arrayMerge() 函数,实现该函数被调用时,传递任意数量的数组,返回一个合并后的数组(可不局限于一种实现)。
let arrayMerge = (...arr) => {
  return Array.prototype.concat.call([], ...arr)
}

编辑于 2018-05-16 11:41:08 回复(2)
let arrayMerge = (...list) => {
    const args_len = list.length;
    //得到参数的数量
    let res = [];
    for(let i = 0; i < args_len; i ++){
        res = [...res, ...list[i]];
    }
    return res;
};
const res = arrayMerge([1,2,3],[4,5]);

发表于 2018-02-17 02:15:03 回复(0)
function arrayMerge(){
  var result = Array.prototype.concat.apply(this,arguments);
  result.shift();
  return result;
}

发表于 2018-03-16 01:42:01 回复(0)
function arrMerge(){
    var res = [];
    for(let i=0;i<arguments.length;i++){
        res = res.concat(arguments[i]);        
    }
    return res;
}
发表于 2018-02-28 15:42:01 回复(0)
let arrayMerge = (...arr) => {
  return [].concat(...arr);
}
发表于 2019-09-27 22:02:49 回复(0)
发表于 2018-02-26 18:00:55 回复(0)
function arrowMerge (...values) {
let arr = []
console.log(values)
for (let val of values) {
arr = arr.concat(val)
}
return arr
}
 
发表于 2018-02-18 23:20:52 回复(0)
function arrayMerge(){
    var arg = Array.prototype.slice.call(arguments);
    var arr = [];
    for(var i=0; i<arg.length; i++){
        arr = arr.concat(arg[i]);   
    }
    return arr;
}

发表于 2018-10-16 11:08:05 回复(0)
function arrayMerge() {
    return [].reduce.call(arguments, function(a,b) {
        return a.concat(b)
    })
}
发表于 2018-09-24 21:06:38 回复(0)
function arrayMerge() {
    var arr = new Array();
    for(var i = 0; arguments[i] != null; i++) {
        arr = arr.concat(arguments[i];
    }
    return arr;
}

发表于 2018-04-14 20:47:26 回复(0)
let arrayMerge = (...arrs) => [].concat(...arrs);

function arrayMerge() {
    var arrs = Array.prototype.slice.call(arguments);
    return arrs.reduce((pre, next) => {
        return pre.concat(next);
    });
}

发表于 2018-04-13 10:46:52 回复(0)
function arrayMerge() { var arr = new Array();   //将伪数组转换为真正的数组  var zArr = Array.prototype.slice.call(arguments);  //console.log(zArr);   for(var i=0;i<arguments.length;i++){ for(var j = 0;j<zArr[i].length;j++)
    arr.push(zArr[i][j]);  }  return arr; } var arr1 = [1,2,3]; var arr2 = [4,5,6]; var arr3 = [7,8,9]
 console.log(arrayMerge(arr1,arr2,arr3))


发表于 2018-04-01 15:01:11 回复(0)
function arrayMerge(){
       var result=[];
       for(let i=0;i<arguments.length;i++){
             result.concat(argument[i]);
      }
return result;
}
发表于 2018-03-23 12:21:06 回复(0)
function arrayMerge(){return [].concat.apply([],arguments).join(',').split(',') }


发表于 2018-03-21 13:42:12 回复(0)
functionarrayMerge(){
   const arr=Array.apply(null,arguments);
   const ans=arr.reduce(function(pre,cur){
    returnpre.concat(cur);
});
   returnans;
}

发表于 2018-03-04 16:27:27 回复(0)
let arrayMerge = function(...args){
    return args.reduce(
        (res, arr)=>{
            res.push(...arr); 
            return res;
        },[]) 
}

编辑于 2018-03-03 21:07:09 回复(0)
wfz头像 wfz

function arrayMerge() {
    let argArr = Array.prototype.slice.apply(arguments)
    let result = []
    argArr.forEach((item) => {
      // result = result.concat(item)
      result = [...result, ...item]
    })
    return result
  }

发表于 2018-03-02 14:56:32 回复(0)
let arrayMerge = (...list)=> list.reduce((a,b)=>a.concat(b),[])
发表于 2018-03-02 11:36:05 回复(0)
function arrayMerge (...args){         let array = []         for(let i in args){             array = [...array, ...args[i]]         }         return Array.from(new Set(array));     }
发表于 2018-02-28 11:27:00 回复(0)
function arrayMerge() {
    var arg = Array.prototype.slice.call(arguments);   
    return [].concat(...arg);
}
arrayMerge([1,2],[2,3])
// [1, 2, 2, 3]
发表于 2018-02-27 10:26:34 回复(0)