@野兽的 ng api 学习 -- angular.forEach
angular.forEach
调用迭代器函数取每一项目标的集合,它可以是一个对象或数组。迭代器函数与迭代器(value、key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关键或数组元素索引。为函数指定一个可选的上下文。
格式:angular.forEach(obj,iterator,[context]);
obj:遍历的对象
iterator:迭代器
[content]: 对象为迭代器函数的上下文(this)
使用代码:
var arr = [{ name: "A", age: "1" }, { name: "B", age: "2" }, { name: "C", age: "3" }];
var _arr = [];
angular.forEach(arr, function (item, index) {
this.push(item.name);
}, _arr);
//_arr = ["A","B","C"]
在项目开发过程中,用到遍历是很正常且平常的事,那么angular也给我们提供了这个api -- angular.forEach。这个和jquery的的.each()方法相似,但貌似他比jquery的.each多了个参数,@野兽来解释下@野兽对这几个参数的理解吧。
首先第一个参数是object或者array类型的,代表的是被遍历的对象/数组。
然后第二个参数是一个函数,这个函数也有两个参数,第一个参数是依次传入被遍历的对象(数组)的属性(元素),第二个参数index是当前属性(元素)在被遍历的对象(数组)里的索引。
最后第三个参数是第二个参数里面的上下文this,在以上代码中,我们把arr进行了遍历,并把arr每个元素的name属性在函数内放到(this)里面,由于我们定义了第三个参数,所以现在函数里的this指的就是第三个参数,也就是_arr数组。
以上就是@野兽的理解,有什么不一样的理解,希望大家可以提出来,有交流才会得到更好的答案,才能学到更好的知识。