Angular - - angular.forEach、angular.extend

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"]

推荐使用:

   var arr = [{ name: "A", age: "1" }, { name: "B", age: "2" }, { name: "C", age: "3" }];
   var _arr = [];
   angular.forEach(arr, function (item, index) {
        _arr.push(item.name);
    });
    //_arr = ["A","B","C"]

item指的是循环的集合中的对象,index是当前item的索引值。

在项目开发过程中,用到遍历是很正常且平常的事,那么angular也给我们提供了这个api -- angular.forEach。这个和jquery的的.each()方法相似,但貌似他比jquery的.each多了个参数。

angular.extend

复制src对象中的属性到dst对象中。你可以指定多个源对象。

格式:angular.extend(dst,src)

dst:目标对象

src:copy源对象(>=1)

使用代码:

  var dst = { name: "Any" };
  var src_one = { age: "18" };
  var src_two = { sex:"male"};
  angular.extend(dst,src_one,src_two);
  //dst:{name: "Any", age: "18",sex:"male"} src_one={age:"18"} src_two = {sex:"male"}

这个方法主要是用对象给对象添加属性的,比如我们定义了个对象,然后需要在后面的代码对这个对象进行添加别的对象的属性作为自己的属性,然后这时候我们就需要用到angular.extend。而且这个方法还可以添加对个对象做为参数,给第目标对象添加属性,即方便又简单