【监测数组】

  1. 使用instanceof操作符,进行检测

    ar arr = [1,2,3];
    // arr = '非非';
    if(arr instanceof Array){
    console.log('是数组');
    }else{
    console.log('不是数组');
    }

    备注:ES3中使用instanceof操作符的前提是,当前页面只有一个执行环境,当网页中存在多个框架的时候,这种检测方式出现问题;为了解决这个问题,ES5提出了第二种方法

  2. Array.inArray()方法
    var arr = [1,2,3];
    // arr = '非非';
    if(Array.isArray(arr)){
    console.log('是数组');
    }else{
    console.log('不是数组');
    }

    备注:IE8是不支持这种检测的,当然了对于其兼容性还是可以实现的;不过现在对于IE8早已无人问津

【数组转换字符串】

  1. toString()方法

    var arr = [
    [1,2,3],
    ['非非','咖啡'],
    [8,9]
    ];
    console.log(arr.toString());//1,2,3,非非,咖啡,8,9
  2. join()方法
    var arr = [
    [1,2,3],
    ['非非','咖啡'],
    [8,9]
    ];
    console.log(arr.join(','));//1,2,3,非非,咖啡,8,9
    console.log(arr.join('||'));//1,2,3||非非,咖啡||8,9

【数组排序】

  1. reverse()反转数组项的顺序

    var arr = [1,2,3,4];
    var arr1 = ['非非','琪琪','艾艾'];
    console.log(arr.reverse());//[4, 3, 2, 1]
    console.log(arr1.reverse());//["艾艾", "琪琪", "非非"]
  2. sort()
    1. 默认情况下,按升序排列数组项(默认比较的是每一项的字符串形式,toString())

      var arr = [1,2,3,4];
      var arr1 = ['非非','琪琪','艾艾'];
      var arr2 = [1,2,3,4,11];
      console.log(arr.sort());//[1, 2, 3, 4]
      console.log(arr1.sort());// ["琪琪", "艾艾", "非非"]
      console.log(arr2.sort());//[1, 11, 2, 3, 4]
    2. sort()接受一个比较函数的参数
      function compare(value1, value2){
      if(value1 < value2){
      return -1;
      }else if(value1 > value2){
      return 1;
      }else{
      return 0;
      }
      }
      // 简化比较函数
      function compare(value1, value2){
      return value1 - value2;
      }
      var arr = [1,2,3,4,11];
      console.log(arr.sort(compare));//[1, 2, 3, 4, 11]

【数组插入】

  1. push()从后面插入新项

    var arr = [1,2,3,4];
    arr.push(8,9)
    console.log(arr);//[1, 2, 3, 4, 8, 9]
  2. unshift()从前面插入新项
    var arr = [1,2,3,4];
    arr.unshift(8,9)
    console.log(arr);//[8, 9, 1, 2, 3, 4]
  3. splice()-插入
    var arr = [1,2,3,4,5];
    arr.splice(3,0,'非非')
    console.log(arr);//[1, 2, 3, "非非", 4, 5]

【数组删除】

  1. pop()删除数组最后一项

    var arr = [1,2,3,4];
    arr.pop()
    console.log(arr);//[1, 2, 3]
  2. shift()删除数组第一项
    var arr = [1,2,3,4];
    arr.shift()
    console.log(arr);//[2, 3, 4]
  3. splice()-删除
    var arr = [1,2,3,4,5,6,7,8,9];
    arr.splice(0,3)
    console.log(arr);//[4, 5, 6, 7, 8, 9]

【数组替换】

splice()-替换

var arr = [1,2,3,4,5];
arr.splice(2,1,'非非','琪琪')
console.log(arr);//[1, 2, "非非", "琪琪", 4, 5]

【数组位置查找】

var arr = [1,2,'非非',3,4,5,'非非','琪琪'];
console.log(arr.indexOf('非非'));//
console.log(arr.lastIndexOf('非非'));//

【数组合并】

concat()

var arr = [1,2,3,4,11];
var arr1 = ['非非','琪琪'];
console.log(arr.concat(arr1));// [1, 2, 3, 4, 11, "非非", "琪琪"]
console.log(arr1.concat(arr));//["非非", "琪琪", 1, 2, 3, 4, 11]

【数组截取】

slice(),接收一个或两个参数,第一个参数是数组起始位置(结果包括起始位置项),第二个参数是结束位置(结果不包括结束项);支持负数,用长度length减去负数,就是当前项的位置

var arr = [1,2,3,4,5,6,7,8,9];
console.log(arr.slice(1));//[2, 3, 4, 5, 6, 7, 8, 9]
console.log(arr.slice(1,5));//[2, 3, 4, 5]
console.log(arr.slice(-3));//[7, 8, 9]
console.log(arr.slice(-4,-1));//[6, 7, 8]

【迭代方法】

  1. every()对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true

    var arr = [1,2,3,4,5,6,7,8];
    var everyMethods = arr.every(function(item, index, array){
    return item > 0;
    });
    console.log(everyMethods);//true
  2. filter()对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
    var arr = [1,2,3,4,5,6,7,8];
    var filterMethods = arr.filter(function(item, index, array){
    return item > 6;
    });
    console.log(filterMethods);//[7, 8]
  3. forEach()对数组中的每一项运行给定函数。这个方法没有返回值(与使用for循环迭代数组一样)
    var arr = [1,2,3,4,5,6,7,8];
    var forEachMethods = arr.forEach(function(item, index, array){
    console.log('item=>'+item);
    console.log('index=>'+index);
    console.log('array=>'+array);
    });
    console.log(forEachMethods);
    // item=>1
    // array.html:24 index=>0
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>2
    // array.html:24 index=>1
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>3
    // array.html:24 index=>2
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>4
    // array.html:24 index=>3
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>5
    // array.html:24 index=>4
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>6
    // array.html:24 index=>5
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>7
    // array.html:24 index=>6
    // array.html:25 array=>1,2,3,4,5,6,7,8
    // array.html:23 item=>8
    // array.html:24 index=>7
    // array.html:25 array=>1,2,3,4,5,6,7,8
  4. map()对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
    var arr = [1,2,3,4,5,6,7,8];
    var mapMethods = arr.map(function(item, index, array){
    return item*2;
    });
    console.log(mapMethods);//[2, 4, 6, 8, 10, 12, 14, 16]
  5. some()对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true
    var arr = [1,2,3,4,5,6,7,8];
    var someMethods = arr.some(function(item, index, array){
    return item > 6;
    });
    console.log(someMethods);//true

【归并方法】

reduce()方法 and reduceRight()方法

这两个方法,目前所知的使用方法比较简单,在实际的开发中,完全可以采用其他方式达到这种效果,就先养着吧,万一那一天我明白了,再补上

JavaScript中数组的各种操作方法的更多相关文章

  1. JavaScript中数组操作常用方法

    JavaScript中数组操作常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2 ...

  2. javascript中数组Array的方法

    一.常用方法(push,pop,unshift,shift,join)push pop栈方法,后进先出var a =[1,2,3];console.log(a.push(40)); //4 返回数组的 ...

  3. Javascript中数组

    Javascript中数组 1.什么是数组 所谓的数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存) 2.创建数组的含义 创建数组的目的:就是为了保存更多的数据 3.数组的定义 ...

  4. javascript中数组常用方法总结

    原文:javascript中数组常用方法总结 在javascript的基础编程中,数组是我们最常遇到的,那么数组的一些常用方法也是我们必须要掌握的,下面我们总结一下数组中常用的方法. toString ...

  5. JavaScript中数组Array方法详解

    ECMAScript 3在Array.prototype中定义了一些很有用的操作数组的函数,这意味着这些函数作为任何数组的方法都是可用的. 1.Array.join()方法 Array.join()方 ...

  6. javascript中数组的常用算法深入分析

    Array数组是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array是前端必修的功课.本文将给大家详细介绍了javascri ...

  7. javascript中数组化的一般见解

    javascript中数组化的一般见解,数组化浏览器中存在许多类数组对象,往往对类数组操作比较麻烦,没有数组那些非常方便的方法,在这种情况下,就有了数组化方法. 数组化的一般方法 1.第一种也是我们最 ...

  8. 总结Javascript中数组各种去重的方法

    相信大家都知道网上关于Javascript中数组去重的方法很多,这篇文章给大家总结Javascript中数组各种去重的方法,相信本文对大家学习和使用Javascript具有一定的参考借鉴价值,有需要的 ...

  9. JavaScript中数组常用方法的总结

    JavaScript中数组Array常用的方法总结 标签(空格分隔): JavaScript ECMAScript数组给我们提供了许多常用的方法,便于我们对数组进行操作,下面,就来总结一下这些方法. ...

随机推荐

  1. Tutorial 7: Schemas & client libraries

    转载自:http://www.django-rest-framework.org/tutorial/7-schemas-and-client-libraries/ Tutorial 7: Schema ...

  2. 记一次spring boot中MongoDB Prematurely reached end of stream的异常解决

    在spring boot项目中使用了mongodb,当一段时间没有操作mongodb,下次操作mongodb时就会出现异常.异常如下: org.springframework.data.mongodb ...

  3. 统计学习方法三:K近邻

    一.什么是K近邻? K近邻是一种基本的分类和回归方法. 在分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决权等方式预测其类别. 通俗的讲,找K个和其关系最近的邻居,哪个类别的邻居多, ...

  4. GPS位置模拟-安卓

    测试定位功能时都需要位置模拟,一般有如下3种方式: a)手机上安装第三方模拟软件:需要Root: b)PC模拟其中运行app并模拟位置:不能在真机上运行,手机兼容性不能测试到: b)在app中让开发增 ...

  5. leetcode 之Valid Sudoku(七)

    判断行.列.九宫格内数字是否重复. 按照行.列.九宫格进行检查即可. bool validSudoku(const vector<vector<char>>& boar ...

  6. vmware linux虚拟机连接ip设置

    首先: 点击VMware 编辑->虚拟网络编辑器: 然后选中VMnet8的查看NAT设置: 上图第二步(记下红框中网关地址和子网掩码): 第三步(用于设置虚拟机地址范围): 接下来就是设置虚拟机 ...

  7. CSU 1351 Tree Counting

    原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1351 DP题,毫无疑问.由于动态规划题目做得少.不熟悉,刚开始自己用f[i]表示用 i ...

  8. CentOS7.5 firefox Flash插件更新

    CentOS7自带的firefox没有flash插件,所以是没有办法在网页上看视频的,需要自己手动安装 1.下载 打开flash官网https://get.adobe.com/flashplayer/ ...

  9. yum软件搜索

    安装软件却记不清包名,搜索出所有带SDL的包yum list *SDL* yum install xxx 列出所有的安装套件yum group list yum group install xxx

  10. nodejs读取文件时相对路径的正确写法(使用fs模块)

    在开发nodejs中,我们往往需要读取文件或者写入文件,最常用的模块就是fs核心模块.一个最简单的写入文件的代码如下(暂时不考虑回调函数): fs.readFile("./test.txt& ...