js 数组传统方法

push()

功能:向数组的末尾添加一个或多个元素

  1. var arr = [4];
  2. arr.push(1,2,3); // [4,1,2,3]

返回: 会返回新数组的长度length

pop()

功能:删除数组的最后一个元素

  1. var arr = [1,2,3,4];
  2. arr.pop(); // [1,2,3]

返回:会返回被删除后的新数组

unshift()

功能:向数组的开头添加一个或者多个元素

  1. var arr = [1,2,3,4];
  2. arr.unshift(7); // [7,1,2,3,4]

返回:会返回新的数组长度length

shift

功能删除数组的第一个元素

  1. var arr = [1,2,3,4];
  2. arr.shift(); // [2,3,4]

返回:会返回被删除后的新数组

数组的遍历 :

  1. function Person(name,age) {
  2. this.name = name ;
  3. this.age = age;
  4. };
  5. var per1 = new Person('a',12),
  6. per2 = new Person('b',14),
  7. per2 = new Person('c',11),
  8. perArr = [per1,per2,per3];
  9. function getAdult(arr){
  10. var newArr = [];
  11. for(var i=0;i<arr.length;i++) {
  12. if(arr[i]['age']>12) {
  13. newArr['push'](arr[i]);
  14. }
  15. }
  16. return newArr;
  17. };

slice()

功能:从数组中提取元素
参数:
1: 截取开始位置的索引
2: 截取结束位置的索引
第二个参数可以省略不写,表示从start开始的后边都被截取
( 包头不包尾 )
第二个 参数 还可以传入一个负值 表示 从后开始数

  1. var result = array.slice(start,end);
  2. var arr = [1,2,3,4];
  3. var newArr = arr.splice(1,-1); //[2,3] -1代表4

返回:不会影响原数组,返回截取完之后的新数组

splice()

功能:删除数组中的指定元素,或是添加加元素到指定位置
参数:
1: 表示开始位置的索引
2: 表示删除的个数
3: 可以讲这些元素自动插入到开始位置索引前边

  1. var arr = [1,2,3,4,5];
  2. arr.splice(0,2,1212); //[1212,3,4,5]
  3. arr.splice(0,0,1212121); //往第一个参数的前面添加元素 [1212121,1,2,3,4,5]

数组去重:

  1. var arr = [1,2,2,3,4,4,3,4,4,5,5,7];
  2. for (var i = 0; i < arr.length; i++) {
  3. for (var j = 1+i; j < arr.length; j++) {
  4. if(arr[i]===arr[j]) {
  5. arr.splice(j,1);
  6. j--; //注意删了一位后,后面的数自动往前推一位,导致相邻的一位没有被比较
  7. }
  8. }
  9. }
  10. console.log(arr);

concat()

功能:连接两个或是多个数组

  1. var arr = [1,2];
  2. var arr1 = [22,33];
  3. var newArr = arr.concat(arr1);

返回:会返回链接之后的新数组

join()

功能:将数组转换成为一个字符串,不会对原数组产生影响
参数:可以指定一个字符串作为参数,这个字符串会成为数组中元素的连接符,默认为‘,’l连接

  1. var arr = [1,2];
  2. var result = arr.join(); //'1,2'
  3. var result = arr,join(''); //'12'

返回:会返回新的数组

reverse()

功能:反转数组

  1. var arr = [1,2,3,4];
  2. arr.reverse(); // [4,3,2,1]

返回:会返回反转之后的新数组

sort()

功能:数组排序,会影响原数组,默认按照unicode编码进行排序,从小到大
参数:回调函数
会分别使用数组中的元素作为实参去调用回调函数
会根据回调函数的返回值来决定元素的位置
若返回一个大于0的则元素 交换位置
若返回一个小于0的则元素 位置不变
若返回一个==0的则元素 位置不变

  1. var arr2 = [1,4,5,6,3,65,11];
  2. arr2.sort(function(a,b) {
  3. if(a>b) {
  4. //前边大 换位置(升序)
  5. return 1;
  6. } else if(a<b){
  7. return -1;
  8. } esle {
  9. return 0;
  10. };
  11. //return a-b; 同上(升序)
  12. //return b-a;(降序)
  13. });

toString()

功能:将数组转化为字符串

  1. var arr = [1,2,3,4];
  2. arr.toString(); // "1,2.3,4"

js 数组传统方法的更多相关文章

  1. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

  2. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  3. 转→js数组遍历 千万不要使用for...in...

    看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...

  4. js数组操作大全

    原文(http://www.cnblogs.com/webhotel/archive/2010/12/21/1912732.html) 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简 ...

  5. js数组去重的4种方法

    js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...

  6. js 数组处理函数

    本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...

  7. js 数组赋值问题 :值传递还是引用?

    转载于知乎var a = [1,2,3]; var b = a; a = [4,5,6]; alert(b); //[1,2,3] 面试时被问到这样一个问题,竟然从来没试过... 当时直接的理解,数组 ...

  8. JS数组方法汇总 array数组元素的添加和删除

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

  9. js数组操作

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...

随机推荐

  1. 洛谷 P2040 打开所有的灯 题解

    这个题写其他题解的dalao们已经解释了 一个灯最多开一次(如果实在不知道为什么看评论区) 这个题一共就9个灯嘛,对吧 递归好想不好写(对于我这种蒟蒻) 所以我写了一个所有题解中最暴力的 直接枚举9个 ...

  2. linux grep 查询多行的方法

    linux grep 查询多行的方法 经常查询 git log 中使用的方法, 如下 git log |grep "xxxx" 如果想查询多行的话, 就有些尴尬, 如果想查询多行的 ...

  3. Missing Data Reconstruction in Remote Sensing Image With a Unified Spatial–Temporal–Spectral Deep Convolutional Neural Network(缺失数据补全,时空谱网络)

    摘要 文章针对修复坏波段(AQUA B6),恢复条带损失,恢复云污染提出了一个深度学习网络结构,他说 To date, to the best of our knowledge, no studies ...

  4. sourceforge文件下载过慢

    sourceforge文件下载过慢,可以用下面网址镜像下载, http://sourceforge.mirrorservice.org 按搜索到的项目的英文字母依次查询,如http://sourcef ...

  5. Linux里使用rz和sz命令

    lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议,官网:http://freecode.com/projects/lrzsz/ windows 需要向centos服务器上传文件 ...

  6. 将jar包导入maven本地仓库

    https://blog.csdn.net/lvdaan/article/details/79760976 一.首先配置环境变量 在path 中添加 maven的bin 的路径 例如:D:\soft\ ...

  7. 第08组 Alpha冲刺(3/4)

    队名 八组评分了吗 组长博客 小李的博客 作业博客 作业链接 组员1李昕晖(组长) 过去两天完成了哪些任务 文字/口头描述 11月19日了解各个小组的进度与难以攻破的地方,晚上安排开会,安排新的冲刺任 ...

  8. Windows Server 2008 + IIS 7+ ASP.NET 并发优化

    Windows Server 2008 + IIS 7+ ASP.NET 并发优化 站点出现这样的错误信息: Error Summary: HTTP Error 503.2 - Service Una ...

  9. jquery给label绑定click事件被触发两次解决方案

    首先我们看下面的代码片段(label包裹checkbox) <div class="example"><label for="chk_6" c ...

  10. hive函数 get_json_object

    pandas和SQL数据分析实战 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2&sha ...