为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript编程题(二)—— 数组

1.找出元素 item 在给定数组 arr 中的位置。如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1

function indexOf(arr, item) {
    for(var i = 0; i < arr.length; i++){
        if(arr[i] == item){
            return i;
        }
    }
    return -1;
}

2.计算给定数组 arr 中所有元素的总和 (数组中的元素均为 Number 类型)

function sum(arr) {
    return eval(arr.join('+')); 
       //eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码;

3.移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组

function remove(arr, item) {
    var arr1 = [];
    for(i = 0;i < arr.length; i++){
        if(arr[i] != item){
            arr1.push(arr[i]);
        }
    }
    return arr1;
}

4.移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回

function removeWithoutCopy(arr, item) {
    for(i = 0; i < arr.length; i++){
        if(arr[i] == item){
            arr.splice(i,1);
         //考虑数组长度。去掉i个重复元素,数组长度-i
             i--;
        } 
    }
    return arr;
}

5.在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组

function append(arr, item) {
  var arr1 = [];
  arr1 = arr.concat([item]);
  return arr1;
}

6.删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组

function truncate(arr) {
    return arr.slice(0, -1);
//slice:指定一个数组中的元素,创建一个新的数组原数组不变
//splice:对数组原身的操作,返回值为被操作的值
}

7.在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组

function prepend(arr, item) {
  return [item].concat(arr);
}

8.删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组

function curtail(arr) {
  return arr.slice(1);
}

9.合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组

function concat(arr1, arr2) {
    return arr1.concat(arr2);
}

10.合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组

function concat(arr1, arr2) {
    return arr1.concat(arr2);
}

11.在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组

function insert(arr, item, index) {
     return arr.slice(0,index).concat(item).concat(arr.slice(index));
}

12.统计数组 arr 中值等于 item 的元素出现的次数

function count(arr, item) {
    var num = 0;
    for(var i = 0; i < arr.length; i++){
        if(arr[i] == item){
            num ++;
        }
    }
    return num;
}

13.找出数组 arr 中重复出现过的元素

function duplicates(arr) {
    var a = [];
    //先排序,如果后一个与前一个相等且未保存,则保存。
    for(var i=0;i<arr.length;i++)
        for(var j=i+1;j<arr.length;j++){
            arr[i]==arr[j]&&a.indexOf(arr[i])==-1&&a.push(arr[i]);
        }
    return a;
}

14.为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组

function square(arr) {
  var a = [];
  for(var i = 0; i< arr.length; i++){
      a[i] = arr[i] * arr[i];
  }
  return a;
}

15.在数组 arr 中,查找值与 item 相等的元素出现的所有位置

function findAllOccurrences(arr, target) {
    var a = [];
    for(var i = 0; i < arr.length; i++){
        if(target == arr[i]){
            a.push(i);
        }
    }
    return a;
}
点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消