js Array 方法总结
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
//js Array 方法
var array1 = [1,2,3];
var array2 = [{"name":"f1",age:1},{"name":"f2",age:2}];
//1. array 复制:直接使用=复制会造成类似java的指针问题,修改原array同时会改变新array
a0 = array1.concat();//concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
a0[0] = 8 ;
alert(array1[0]);//结果 1 正确 。 但是如果将array1 换成array2,则结果就不对了(和=类型,由于引用的关系造成);
//如何深度复制数组,使用jquery 方法
a1 = $.extend(true,[],array2);// (extend用法较多:$.extend(src)扩展全局, $.fn.extend(src)扩展实例变量)
a1[0].name="fdf";
alert(array2[0].name);//结果: f1 。
//2. map 数据数据筛选组合
var a2 = array2.map(function(value,index,array){
//return value;//此处可对数组加工
return {"name":value.name,"age":value.age}; //可以变相的复制一个数组
});
alert(a2[0].name);
//3. filter 数组元素筛选
a3 = array2.filter(function(value,index,array){
if(value.name=='f1') return true; //只保留对象name 值为f1 的数组元素
return false;
});
//4. forEach 数组循环
array2.forEach(function(value,index,array){});//ie可能不支持,且无法使用break ,continue ..使用return代替
//5. reduce 对上一个数组元素和当前 数组元素 进行操作 。用处:如数组统计
var a5 = array1.reduce(function(pre,cur){return pre+cur;}); // 结果 : 6 //6 array 其他方法:
// 方法 描述
// concat() 连接两个或更多的数组,并返回结果。
// join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
// pop() 删除并返回数组的最后一个元素
// push() 向数组的末尾添加一个或更多元素,并返回新的长度。
// reverse() 颠倒数组中元素的顺序。
// shift() 删除并返回数组的第一个元素
// slice() 从某个已有的数组返回选定的元素
// sort() 对数组的元素进行排序
// splice() 删除元素,并向数组添加新元素。
// toSource() 返回该对象的源代码。
// toString() 把数组转换为字符串,并返回结果。
// toLocaleString() 把数组转换为本地数组,并返回结果。
// unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
// valueOf() 返回数组对象的原始值 </script>
</head>
<body> </body>
</html>
js Array 方法总结的更多相关文章
- js Array方法总结
修改器方法(9) copyWithin(target: number, start: number, end?: number): this; // 浅复制数组的一部分到同一数组中的另一个位置,并返回 ...
- js中Array方法归类解析
为什么要对Array方法进行归类解析 因为它常用,而且面试必问 改变原数组的方法 pop 删除并返回数组最后一个元素push 从末尾给数组添加元素,返回新数组length值reverse 颠倒数组元素 ...
- S5中新增的Array方法详细说明
ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...
- JS扩展方法——字符串trim()
转自:http://www.cnblogs.com/kissdodog/p/3386480.html <head> <title>测试JS扩展方法</title> ...
- Js apply 方法 详解
Js apply方法详解 我在一开始看到JavaScript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这 ...
- ES5中新增的Array方法详细说明
一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (j ...
- js一些方法的扩展
//JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. //下面给出 ...
- JS扩展方法
JS扩展方法与C#的扩展方法非常相似,也是可以链式调用的,也是通过对某个类的扩展写法来实现.这个东西非常好用,如果将预先写好的方法放到一个js里面引用的话,那么后面写js将非常有趣. 下面给出一个例子 ...
- js Array数组的使用
js Array数组的使用 Array是javascript中的一个事先定义好的对象(也可以称作一个类),可以直接使用 创建Array对象 var array=new Array(): 创建指定元 ...
随机推荐
- python全栈开发 什么是python python命名及循环
python全栈 一. python介绍: 1. python起源 2. 主要应用领域; web,人工智能,云计算,系统运维. 1.1 python是一门什么语言? python是一 ...
- feign的hystrix不起作用.
在springCloud中使用feign内嵌的断路器hystrix时.feign中的hystrix不起作用.这可能是由于springCloud的版本原因造成的.需要在application.prope ...
- 配置完php.ini中的扩展库后,重启apache出现错误1067
网上有很多解决办法,比如更改环境变量,重装apache等等,但没有一个是符合我的.最后发现只是犯了一个低级错误,因为是第一次配置php.ini中的扩展库,忘记配置扩展库的路径. 解决办法:需要先加上扩 ...
- 牛客网练习赛43-C(图论)
题目链接:https://ac.nowcoder.com/acm/contest/548/C 题意:有n个知识点,学会每个知识点花T[i],已经学会了其中k个知识点,有m组关系,t1,t2,t3,表示 ...
- NYOJ_矩形嵌套(DAG上的最长路 + 经典dp)
本题大意:给定多个矩形的长和宽,让你判断最多能有几个矩形可以嵌套在一起,嵌套的条件为长和宽分别都小于另一个矩形的长和宽. 本题思路:其实这道题和之前做过的一道模版题数字三角形很相似,大体思路都一致,这 ...
- 鸟哥的linux私房菜第四版
十分清晰的哟,从https://pan.baidu.com/s/1OYyGSOeR_6JDYIu0eOv_Mg下载即可,提取码9hsg
- WISH开发API
https://merchant.wish.com/documentation/api#api http://wishquan.com/
- 2018.3.15 css课外小知识
1, 如果手动写动画, 最小的时间间隔是多久 为什么 多数显示器默认频率是60Hz 1s刷新60次 所以理论最小是1/60*1000ms=16.7ms 2. display:inline-bloc ...
- go语言中的函数
package main; import "fmt" func main() { a, b, c := A(1, 2, 3); fmt.Println(a, b, c); //调用 ...
- sqlServer数据库备份与还原——差异备份与还原
1.差异备份 是完整备份的补充 备份自上次完整备份以来的数据变动的部分 2.备份过程: 在做差异备份之前需要先进行完整备份.完整备份的过程见:https://i.cnblogs.com/EditPos ...