js学习一数组类型foreach方法
Date:20160515
语法:
arr.foreach(callback [,thisArg])callback 是指回调函数,thisArg是指传入的参数可有可无
代码示例如下:
实现的功能说明 给students数组中的每一个对象的score都加5分
<span style="font-size:14px;"><span style="font-size:14px;"><!DOCTYPE html> <html> <head> <title>JS_Array</title> </head> <body> <script type="text/javascript"> var students = [ {id:1, score:10}, {id:2, score:20}, {id:3, score:30} ]; var editScore = function(item, index,array){ item.score += 5; }; students.forEach(editScore); // document.write(students.length); document.write(students[0].score); </script> </body> </html></span></span>运行结果:
15
array常用方法的补充:
reverse(arr) 逆序
sort(arr) 排序
push(element)) 结尾追加
unshift(element) 头部追加
arr.shift() 空参数,删除原来数组的第一元素,并返回删除以后的第一个元素
arr.pop() 同上,删除最后一个元素,并取出最后一个
arr.splice(index, howManty[, ele1[,.......eleN]]) 在索引位置为index的地方插入ele1......eleN,并删掉howMany个元素(替换功能)。如果没有ele就是删除操作;如果howMany = 0就是插入操作
不改变原数组的方法:
arr.slice(begin[,end]) begin<=index<end 取数组的一部分,拷贝
arr.concat(value1,......valueN) 连接多个数组
arr.join([separator])用指定的字符或者默认为‘,’将数组里的元素连接起来
arr.map(callback[,thisArg]) 是forEach操作的具体化
示例:
var scores = [1,2,3,4,5]; var addScore = function(item, index, array){ return item += 5; } document.write(scores.map(addScore)) // 6,7,8,9,10arr.reduce(callback[,initialValue]) 前一次执行callback函数的结果和作为参数继续执行callback,直至数组执行结束
示例:
var sum = function (preResult, item, index, array) { return preResult + item.score; } document.write(students.reduce(sum, 0)) // 60 执行过程:0+10=10,10+20=30,30+30=60
总结:对一个数组(每项都是数值)求和的方法有: for forin forEach map reduce
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: PHP判断一个字符是否存在某个字串
- 下一篇: 网页小技巧