首页 > 试题广场 >

添加元素

[编程题]添加元素
  • 热度指数:90549 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1

输入

[1, 2, 3, 4], 10

输出

[10, 1, 2, 3, 4]
// 方法一:concat方法不改变原数组
function prepend(arr, item) {
    var prependArr= [item].concat(arr);  
    return prependArr;
}
// 方法二:join方法将数组转化为字符串,拼接字符串后再用字符串的split方法将其转化为数组 
function prepand(arr,item){
    var arrStr = arr.join(","); 
    var prependStr = item +","+ arrStr;
    var prepenArr = prependStr.split(",");
    return prepenArr;
}
// 方法三:slice方法不改变原数组, 取出数组所有元素放入新的数组,对新的数组使用unshift方法添加元素到首位。
function prepand(arr,item){
     var arr1 = arr.slice(0,arr.length);  // 取出0至arr.length-1的元素
     var prepandArr = arr1.unshift(item);
     return  prepandArr;
}
发表于 2017-04-14 21:00:13 回复(0)
function prepend(arr,item) {  
    var result = arr.slice(0,arr.length);
    result.splice(0,0,item);
    return result;
}

编辑于 2015-08-01 22:19:46 回复(1)
//最简单的数组拼接
function prepend(arr, item) {
  return [item].concat(arr)
}

//复制新数组再添加
function prepend(arr, item) {
  const newArr = [];
  [].push.apply(newArr, arr);
  newArr.unshift(item);
  return newArr;
}
function prepend(arr, item) {
  const newArr = arr.join("").split("");
  newArr.unshift(item);
  return newArr;
}
function prepend(arr, item) {
  const newArr = arr.slice(0, arr.length);
  newArr.splice(0, 0, item);
  return newArr;
}

//遍历再push
function prepend(arr, item) {
  const newArr = [item];
  let len = arr.length;
  for (let i=0;i<len;i++) {
    newArr.push(arr[i])
  };
  return newArr;
}

发表于 2022-05-09 17:42:10 回复(0)
function prepend(arr, item) {
    return [item].concat(arr);
}
发表于 2021-12-13 10:55:26 回复(0)
function prepend(arr, item) {
    let newArr = arr.slice();
    newArr.unshift(item);
    return newArr;
}
不能简写为 return newArr.unshift(item),因为newArr.unshift(item)会返回新数组的长度。


发表于 2021-10-02 10:28:07 回复(0)
function prepend(arr, item) {
    // const temp = JSON.parse(JSON.stringify(arr))
    // temp.unshift(item)
    const temp = Array.of(item)
    return temp.concat(arr)
}

发表于 2021-08-01 11:48:58 回复(0)
function prepend(arr, item) {

    return Array.from([item,...arr])
}

发表于 2021-05-30 23:19:45 回复(0)
 return [item,...arr]
发表于 2019-09-21 09:42:00 回复(0)
//首先想到的第一个方法
function prepend(arr, item) {
    var newArr = arr.slice(0);//复制数组
    //splice(参数1,参数2,参数3),
    //参数1:开始添加或删除起点,参数2:删除几个,0表示不删除,参数3:添加的内容
    newArr.splice(0,0,item);
    return newArr;
}

//其次想到的第二个方法
function prepend(arr, item) {
    var newArr = arr.slice(0);//复制数组
    newArr.unshift(item);//unshift()可向数组的开头添加一个或更多元素,并返回新的长度
    return newArr;
}

发表于 2019-09-10 11:54:13 回复(0)
function prepend(arr, item) {
    return [item].concat(arr);
}

function prepend(arr, item) {
    var a = arr.slice();
    a.unshift(item);
    return a;
}

发表于 2019-08-09 09:31:17 回复(0)
function prepend(arr, item) {
    var res=arr.slice();
    res.unshift(item);
    return res;
}
发表于 2017-11-21 15:10:24 回复(0)
function prepend(arr, item) {
var arr2 = arr.slice(0);
    arr2.unshift(item);
    return arr2;
}
发表于 2017-08-05 17:06:57 回复(0)
function prepend(arr, item) {
  var temp=[item];
 return temp.concat(arr);
}

发表于 2017-05-24 22:12:13 回复(1)
function prepend(arr, item) {
    var result = [];
    result.push(item);
    return result.concat(arr);
}
发表于 2017-04-18 10:00:26 回复(0)
function prepend(arr, item) {
        var result = [];
        for(var i = arr.length - 1; i >= 0; i--){
            result[i+1] = arr[i]
        }
        result[0] = item;
        return result;
    }

发表于 2017-02-22 22:12:53 回复(0)
function prepend(arr, item) {
    var New = [];
    New.push(item);
    for(var i=0;i<arr.length;i++)
        New.push(arr[i]);
    return New;
}

发表于 2017-02-17 18:45:57 回复(0)
单个的元素在前,搞成数组,然后拼接。
发表于 2016-10-27 19:56:02 回复(0)
unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

function prepend(arr, item) {
 var newArr=arr.slice(0);
    newArr.unshift(item);
    return newArr;
}
prepend([1, 2, 3, 4], 10);

发表于 2016-09-26 11:23:25 回复(0)
function prepend(arr, item) {
    var newarr=new Array();
    newarr.push(item);
    newarr=newarr.concat(arr);
    return newarr;
}

发表于 2015-09-08 14:22:59 回复(0)
function prepend(arr, item) {
       return [item].concat(arr);
}

编辑于 2017-03-24 16:04:17 回复(63)