美文网首页
js 数组操作

js 数组操作

作者: 赵碧菡 | 来源:发表于2017-09-06 20:10 被阅读0次
1、移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
//方法1
function remove(arr, item) {
   var newArr=[];
   for(var i=0;i<arr.length;i++){
      if(arr[i]!=item){
          newArr.push(arr[i]);
      }
    }
     return newArr;
}
// 方法2
function remove(arr, item) {
   return arr.filter(function(ele){
       return ele!=item;
   })
}
2、计算给定数组 arr 中所有元素的总和
// 使用ES6中的reduce方法
function sum(arr) {
  return arr.reduce(function(x,y){
      return x+y;
  })
}
3、找出元素 item 在给定数组 arr 中的位置,如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1。
function indexOf(arr, item) {
    return arr.indexOf(item);
}
4、在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组。
function append(arr, item) {
   var newArr=arr.slice(0);
   newArr.push(item);
   return newArr;
}
5、删除数组 arr 最后一个元素。不要直接修改数组 arr,结果返回新的数组
//方法1
function truncate(arr) {
   var newArr=arr.slice(0,arr.length-1);
    return newArr;
}
//方法2
function truncate(arr) {
   var newArr=arr.pop();
    return newArr;
}
6、合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组
function concat(arr1, arr2) {
       return  arr1.concat(arr2);
} 
7、在数组 arr 的 index 处添加元素 item。不要直接修改数组 arr,结果返回新的数组
function insert(arr, item, index) {
    var newArr=arr.slice(0);
    newArr.splice(index,0,item);
    return newArr
}
8、统计数组 arr 中值等于 item 的元素出现的次数
//方法1
function count(arr, item) {
   var count=0;
    for(var i=0;i<arr.length;i++){
        if(arr[i]==item)  count++;
    }
    return count;
}
//方法2
function count(arr, item) {
   var count=arr.filter(function(ele){
        return ele==item;
    })
    return count.length;
}
9、找出数组 arr 中重复出现过的元素
function duplicates(arr) {
  var result=[];
  arr.forEach(function(ele,index){
      if(arr.indexOf(ele)!=index&& result.indexOf(ele)==-1){
          result.push(ele);
      }
  })
     return result;
}
// 输入:[1, 2, 4, 4, 3, 3, 1, 5, 3]
// 输出:[1, 3, 4]
10、为数组 arr 中的每个元素求二次方。不要直接修改数组 arr,结果返回新的数组
function square(arr) {
  var newArr=arr.map(function(x){
      return x*x;
  })
  return newArr;
}
11、在数组 arr 中,查找值与 item 相等的元素出现的所有位置
//方法1    使用for循环
function findAllOccurrences(arr, target) {
  var find=[];
  for(var i=0;i<arr.length;i++){
       if(arr[i]== target){
         find.push(i);
       }
   }
    return find;
}
//方法2  使用filter
 function findAllOccurrences(arr, target) {
   var find=[];
   arr.filter(function(ele,index){
        return ele==target&&find.push(index);
    })
   return find;
}

相关文章

  • js笔记

    js数组 删除某个元素 js数组是否含有某个元素 判断value为undefined cookie操作

  • js基础了解

    js数组常用遍历方法使用: js数组常用操作方法使用: 基本逻辑运算: 基本字符串操作方法:

  • JS jsonArray操作

    JS jsonArray操作 js对数组对象的操作以及方法的使用 如何声明创建一个数组对象:var arr = n...

  • JS对象 & JSON & JS数组操作

    JS对象 & JSON & JS数组操作 JSON 格式(JavaScript Object Notation 的...

  • js对象数组操作 数组操作

    var numbers = [1, 2, 3];var newNumbers1 = numbers.map(fun...

  • JS数组操作

    splice 用于一次性解决数组添加、删除(这两种方法一结合就可以达到替换效果),方法有三个参数 开始索引 删除元...

  • JS数组操作

    1.栈方法 push()和pop() 后入先出 push():末尾追加 pop():末尾弹出 2.队列方法 先入先...

  • js 数组操作

    遍历删除元素: 遍历数组:for循环遍历: forEach遍历:

  • js数组操作

    一、改变原数组的方法 a.reverse() 将数组逆序,会修改原数组 a.sort 对数组进行排序, 需要传入自...

  • [js]数组操作

网友评论

      本文标题:js 数组操作

      本文链接:https://www.haomeiwen.com/subject/spyvjxtx.html