工具类,处理数组的一些方法。
ko.utils.arrayForEach(array, callback)
与Array.prototype.forEach作用一致。提供函数(回调函数)对数组的每个元素执行一次。使用方法:
var arr = [1, 2, 3, 4];
ko.utils.arrayForEach(arr, function(el, index) {
console.log(el)
});
// 分别输出:1、2、3、4
ko.utils.arrayForEach源码:
ko.utils.arrayForEach = function (array, action) {
for (var i = 0, j = array.length; i < j; i++)
action(array[i], i);
}
ko.utils.arrayMap(array, callback)
与Array.prototype.map作用一致。返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。使用方法:
var arr = [1, 2, 3, 4];
var newArr = ko.utils.arrayMap(arr, function(el, index) {
return el + 1;
});
// 得到的newArr为:[2, 3, 4, 5]
ko.utils.arrayMap源码:
ko.utils.arrayMap = function (array, mapping) {
array = array || [];
var result = [];
for (var i = 0, j = array.length; i < j; i++)
result.push(mapping(array[i], i));
return result;
}