以下是一种新的方式,引入ecma5阵列,foreach(),通过一个代码示例。具体代码如下所示。
var { { { {
foreach:
函数(回调){
警告(此长度);
对于(var i =,len = this.length;我< len;i++){
回调回调(这个{ },I,this);
}
},
获取长度(){
var和;
对于(在这个变量中){
总和=;
}
收起回复;
}
};
object.defineproperty(O,长
object.defineproperty(O,foreach
o = };
o = };
o = };
o.foreach(
功能(V,I,ARR){
ARR {我} = V;
console.log(ARR {我} +回调);
});
值得注意的是:
使用1。回调函数
对2.defineproperty和defineproperties功能意义
这两个函数可以定义四个
属性的对象的属性值,可写,可数、可
配置性
这里有一些更多的时间来
介绍一些在ecma5数组如下的新
方法:
今天,在实践中,我遇到了钳工(),一种新的阅读这些数组的方法,但从来没有在实战中使用,利用今天的评论;
foreaach()
这种方法是从开始到结束遍历数组,然后调用指定的函数对数组中的每个元素。这个功能是为第一个
参数,调用函数可以有3个参数,即当前数组元素,当前元素的索引,和阵列走过。如果只有一个参数,则此参数是当前数组元素。
VaR数据= { 12345 };
数组的计算和
var总和= 0;
data.foreach(函数(值){总和=值;}); / /价值是指{ 0 }分别~数据4;
console.log(总和)/ 15
由于1个/每个数组元素
data.foreach(功能(V,我,一个){ {我} = V 1;} / / V)分别指的是数据{ 0 ~ 4 };一个是数据;
地图();
(map)方法来传递每个元素数组来生成调用函数,并返回一个数组(并调用数组格式,该塔包含返回值和两个豌豆一样),改变注释的功能:它必须返回一个值,并且不会改变他的调用数组。
var a = {1,2,3};
B = a.map(函数(x){ return x * x;});
过滤器()
这个函数的返回值是调用函数的一个子集,因为传递给它的函数公式用于逻辑判断。如果为true,则将当前值推入返回的子集数组中。
无功getnum =功能(A,B,K){
返回a.filter(功能(v){ return b.indexof(V)> 1;}){ K-1 };
}
var a = {可能};
var b = { 12,10,8,6 };
console.log(getnum(A,B,1))
console.log(getnum(A,B,2));
每个(一些);
这两个函数的参数是一个判断数组元素的决策函数,返回值为真或假。
在每个()中,只有当所有数组元素调用决策函数并返回true时,返回值才是真的;它有点类似。
在一些()中,只要数组元素调用true的决策函数,它就返回true。