You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var data = [1,2,3,4,5];
var add = function(a,b) {
return a+b;
}
var sum = data.reduce(add,0) // sum is 15;
var mult = function(a,b) {
return a*b;
}
var result = data.reduce(mult,1) // result is 120
JavaScript 语言精粹 - 数组
长度
length
设小,将导致所有下标大于等于新length的属性被删除。length
,可以附加一个新元素到该数组的尾部。push
也能达到同样的效果删除
利用
delete
运算符可以用来从数组中移除元素,但是会留下一个空洞undefined,并且数组的长度也不会发生变化使用
splice
方法,删除。被删除属性后面的每个属性必须被移除,并且以一个新的键值重新插入。枚举
使用 for in 语句进行枚举,不能保证属性的顺序,还有可能从原型链中得到意外的属性,推荐使用for 循环。
方法
通过给Array.prototype扩充一个函数,每个数组都可以继承这个方法
这里的
method
方法,则是挂载到Function.prototype
上面的,在基本类型的构造函数上添加方法时,就可以省去了prototype
。接受一个函数和一个初始值作为参数,计算出一个新值后,再作为函数的参数执行。
指定初始值
JavaScript 不会预置值,使用
[]
得到一个新数组,里面是空的,所以应该提供类似Array.dim
这样的方法来做这件事。目前来看,es6里面提供了一个
fill()
方法,就弥补了这个空缺。创建一个二维数组,就必须手动去创建
如果使用 Array.dim(n,[]),就会使每个元素指向同一个数组的引用,同样使用fill 也会有这个问题
创建矩阵,同时希望它们有不同的初始值,也可以手动实现
然后,构建一个用0 填充的4 * 4矩阵
或者,构建一个单位矩阵。
The text was updated successfully, but these errors were encountered: