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,10

arr.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



  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值