angular中提供了foreach()方法用于遍历对象或数组,供大家参考,具体内容如下
function foreach(obj, iterator, context) { var key, length; if (obj) { if (isfunction(obj)) { for (key in obj) { // need to check if hasownproperty exists, // as on ie8 the result of queryselectorall is an object without a hasownproperty function if (key != 'prototype' && key != 'length' && key != 'name' && (!obj.hasownproperty || obj.hasownproperty(key))) { iterator.call(context, obj[key], key, obj); } } } else if (isarray(obj) || isarraylike(obj)) { var isprimitive = typeof obj !== 'object'; for (key = 0, length = obj.length; key < length; key++) { if (isprimitive || key in obj) { iterator.call(context, obj[key], key, obj); } } } else if (obj.foreach && obj.foreach !== foreach) { obj.foreach(iterator, context, obj); } else if (isblankobject(obj)) { // createmap() fast path --- safe to avoid hasownproperty check because prototype chain is empty for (key in obj) { iterator.call(context, obj[key], key, obj); } } else if (typeof obj.hasownproperty === 'function') { // slow path for objects inheriting object.prototype, hasownproperty check needed for (key in obj) { if (obj.hasownproperty(key)) { iterator.call(context, obj[key], key, obj); } } } else { // slow path for objects which do not have a method `hasownproperty` for (key in obj) { if (hasownproperty.call(obj, key)) { iterator.call(context, obj[key], key, obj); } } } } return obj; }
官方描述:
foreach方法可以遍历数组或对象,函数有三个参数为别为:value,key,obj。
1)、value value指当遍历的对象或数组元素当前的值
2)、 key 是对象属性的的key或者数组的索引
3)、 obj obj即被遍历的对象或数组本身
示例:
var values = {name: 'misko', gender: 'male'}; var log = []; angular.foreach(values, function(value, key) { this.push(key + ': ' + value); }, log);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
分享Angular http interceptors 拦截器使用(推荐)
网友评论