js 数组传统方法

push()

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

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

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

pop()

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

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

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

unshift()

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

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

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

shift

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

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

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

数组的遍历 :

function Person(name,age) {
this.name = name ;
this.age = age;
}; var per1 = new Person('a',12),
per2 = new Person('b',14),
per2 = new Person('c',11),
perArr = [per1,per2,per3];
function getAdult(arr){
var newArr = [];
for(var i=0;i<arr.length;i++) {
if(arr[i]['age']>12) {
newArr['push'](arr[i]);
}
}
return newArr;
};

slice()

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

var result = array.slice(start,end);

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

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

splice()

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

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

数组去重:

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

concat()

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

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

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

join()

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

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

返回:会返回新的数组

reverse()

功能:反转数组

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

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

sort()

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

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

toString()

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

var arr = [1,2,3,4];
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. swap file "*.swp" already exists!的解决方法

    Linux下编程难免要开启多个vim共同编辑同一个文件,这时再次保存就会出现: swap file "*.swp" already exists! [O]pen Read-Only ...

  2. request登录案例

    一.案例需求 1.编写login.html登录页面 username & password 两个输入框 2.使用Druid数据库连接池技术,操作mysql,day14数据库中user表 3.使 ...

  3. [SDOI2011]染色(信息学奥赛一本通 1563)(洛谷 2486)

    Description 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“ ...

  4. 5098: [BZOJ1098][POI2007]办公楼biu

    5098: [BZOJ1098][POI2007]办公楼biu 没有数据结构就很棒 一个看上去非常玄学的代码 const int N=1e5+10,M=2e6+10; int n,m; int fa[ ...

  5. SLF4J使用,slf4j-api、slf4j-log4j12以及log4j的关系

    SLF4J不同于其他日志类库,与其它有很大的不同.SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer ...

  6. mac jq for json format

    mac jq #1.安装 brew install jq #2.创建文件 echo '{"name": "Ruby"}' > ./test.json #3 ...

  7. jdk8 stream实现sql单表select a,b,sum(),avg(),max() from group by a,b order by a,b limit M offset N及其性能

    之所以要测该场景,是因为merge多数据源结果的时候,有时候只是单个子查询结果了,而此时采用sql数据库处理并不一定能够合理(网络延迟太大). 测试数据10万行,结果1000行 limit 20 of ...

  8. Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用

    title: "Navicat 12.x for MySQL最新版安装破解教程(附安装包和注册机,全网独家可用" categories: soft tags: soft autho ...

  9. Mybatis报错:org.apache.ibatis.builder.IncompleteElementException

    org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer遇到这 ...

  10. Android Studio的下载、安装与配置

    1 下载 下载地址:http://www.android-studio.org/index.php ☟这里下载的是3.1.2版本 2 安装与配置 2.1 初步安装 默认就可以,点击红框内按钮依次进行安 ...