一些在面试中可能遇到的编程题

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    //1、找出item元素在给定数组arr中的位置
  /*  function a(arr,item){
        console.log(arr.indexOf(item)) ;
    }
    a([1,2,3,4],4);*/



    //2、将元素的位置互换
   /* var a=['a','b','c'];
    console.log(a.reverse());*/


    //3、计算给定数组arr中所有元素的总和
    /*function arrSum(arr){
      var sum=0;
        for(var i=0;i<arr.length;i++){
            sum+=arr[i];
        }
       return sum;
        //这是第二种方式
       /!* return eval(arr.join("+"));*!/
    }

    console.log(arrSum([1,2,3,4,5,6,7]))*/

    //4、移除数组arr中所有与item相等的元素,不要直接修改数组arr,结果返回新的数组
/*
function a(arr,item){
    var newarr=[];
    var newarr1=[];
    for(var i=0;i<arr.length;i++){
        if(arr[i]!=item){
            newarr.push(arr[i]);
        }
        //再去重,错误啦
       /!* for(var j=0;j<newarr.length;j++){
            if(newarr[j].indexOf()>0){
                newarr1.push(newarr[j]);
            }
        }*!/

    }
    console.log(newarr1);
}
    a([1,2,2,3,4,4],2)
*/
//5.在数组末尾添加一个元素item,不要直接修改数组arr,结果返回新的数组
   /* function add(arr,item){
         arr1=[];
      arr1=arr.concat(item);
        /!*return arr1;*!/
      /!*  return arr;*!/
        console.log(arr1);//["z,", "x", "c", "q"]
        console.log(arr);//["z,", "x", "c"]

    }
    add(['z,','x','c'],'q');*/



//6、删除arr最后一个元素。不要直接修改数组arr,结果返回新的数组
    //使用pop();会改变原数组,slice();不会改变原数组,splice();会改变原数组
    /*function truncate(arr){
        a=arr.slice(0);
        a.pop();
       /!*console.log(a);*!/
        return a;

    }
    truncate([1,2,3,4]);
    console.log(a);*/

/*var a=[1,2,3,4,5];
    var a1= a.slice(0);
    console.log(a1);
   console.log( a.pop());//5
    console.log(a);//1,2,3,4*/

//7、在数组arr开头添加item,不要直接修改数组arr,结果返回新的数组
    /*var a=['a','b','c'];
    a.unshift('3');
    console.log(a);*/

    /*function a(arr,item){
     var arr1=arr.slice(0);
        arr1.unshift(item);
       console.log(arr1);
    }
    a([1,2,3,4],5);*/

//8.删除数组arr第一个元素,不要直接修改数组arr,结果返回新的数组
    /*function a(arr){
        var arr1=arr.slice(0);
        arr1.shift();
        console.log(arr1);
    }
    a([1,2,3,4]);*/

//9.合并数组arr1和arr2.不要直接修改arr,结果返回新的数组
    /*concat不会改变原数组*/
   /* var arr1=['a','b','c','d'];
    var arr2=['a1','a2','a3'];
    var arr3=[];
    arr1.concat(arr2);
   /!* arr3=arr1.concat(arr2);*!/
    console.log(arr3);//  ["a", "b", "c", "d", "a1", "a2", "a3"]
    console.log(arr1);//["a", "b", "c", "d"]*/

/*//10.在数组的index处添加元素item.不要直接修改数组arr
*function a(arr,index,item){
 var arr1=[];
 arr1=arr.slice(0);
 arr1.splice(index,0,item);
 console.log(arr1);
 console.log(arr);
 }
 a([1,2,3,"4q"],2,9);
* */
    //11.统计数组arr中,值等于item的元素出现的次数
    /*function a(arr,item){
        var count=0;
        for(var i=0;i<arr.length;i++){
            if(item==arr[i]){
                ++count;
            }
        }
        console.log(count);
    }
    a([1,2,2,3,4],2);*/


    //12.找出数组arr中,重复出现过元素


    /*function a(arr){
        var arr1=[];
        for(var i=0;i<arr.length;i++){
            if(arr.indexOf(arr[i])!=arr.lastIndexOf(arr[i])&&arr1.indexOf(arr[i])==-1){
                arr1.push(arr[i])
            }
        }
        console.log(arr1);
    }
    a([1,2,2,3,3,4]);*/

   //13.遍历原数组,将其的平方存入新的数组
    function a(arr){
        var b=[];
        arr.forEach(function(e){
            arr.push(e*e);

        });
        return arr;
    }

</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值