写一个能遍历数组和对象的forEach函数

forEach函数遍历数组:

var arr = [1,2,3];
arr.forEach (function (item, index) {
    console.log (index,item)
})

forEach函数遍历对象:

var obj = {
    x: 100,
    y: 200,
    z: 300
}
var key;
for (key in obj){
    if (obj.hasOwnProperty (key)) {
        console.log (key,obj[key])
    }
}

能遍历二者的forEach函数

function forEach (obj, fn) {
    var key;
    if (obj instanceof Array) {
        obj.forEach (function (item, index) {
            fn (item,index)
        })
    } else {
        for (key in obj) {
            if (obj.hasOwnProperty (key)){
                fn (key, obj[key])
            }
        }
    }
}
var arr = [1, 2, 3];
var obj = {
    x: 100,
    y: 200,
    z: 300
}
forEach (arr, function (item, index) {
    console.log (index,item)
})
forEach (obj, function (key, val) {
    console.log (key, val)
})
时间: 2024-11-06 20:31:34

写一个能遍历数组和对象的forEach函数的相关文章

js中遍历数组、对象的方式

1.标准的for循环遍历数组 var array = [1,2,3,4,5,6,7]; for (var i = 0; i < array.length; i) { console.log(i,array[i]); } 2.for in 遍历对象 for in 以任意顺序遍历一个对象的可枚举属性. 因此当迭代那些访问次序重要的 arrays 时用整数索引去进行 for 循环 (或者使用 Array.prototype.forEach() 或 for...of 循环) . 一般常用来遍历非数组的对

jQuery$.each循环遍历详解,各种取值对比,$.each遍历数组、对象、Dom元素、二维数组、双层循坏、类json数据等等

jQuery 遍历函数包括了用于筛选.查找和串联元素的方法. 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集合中. .children() 获得匹配元素集合中每个元素的所有子元素. .closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素. .contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点. .each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数. .end(

vue遍历数组和对象的方法以及他们之间的区别

前言:vue不能直接通过下标的形式来添加数据,vue也不能直接向对象中加值,因为那样即使能加入值页面也不会跟着改变 一,vue遍历数组 1,使用vue数组变异方法 pops 删除数组租后一项 push 往数组里面增加一项 shift 删除数组第一项 unshift 往数组第一项里面加一线内容 splice 数组截取 sort 数组排序 reverse 对数组取反 2,数组的引用 3,vue set方法 二,vue遍历对象 1,对象引用 2,set方法 由于时间问题下回仔细说明,谢谢 原文地址:h

vue 遍历数组和对象

一,遍历数组 wxml布局 <view class='common_tags_item' wx:for="{{filter_grade_list}}" wx:key="this" bindtap='selectFilterGrade' data-hi="{{index}}" style="background:{{filter_grade===index ? '#FFF5F5': '#F2F2F2'}};border-width:

写一个方法求数组中的最大值,最小值,总和以及平均值。

class Program { /// <summary> /// 求数组中的最大值,最小值,总和以及平均值. /// </summary> /// <param name="nums">输入一个数组</param> /// <returns>返回一个新的数组(max,min,sum,avg)</returns> public static int[] GetMaxMinSumAvg(int[] nums) { i

Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。

题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就使用递归遍历目录 代码如下: 1 import java.io.File; 2 3 public class ZuoYe { 4 public static void main(String[] args) { 5 //创建file对象 6 File f=new File("d://新建文件夹&qu

写一个逆序数组

@Test public void demo1() {int[] arr = { 1, 2, 3, 4, 5 }; for (int start = 0, end = arr.length - 1; start < end; start++, end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } for (int i : arr) { System.out.println(i); }

javascript原型:写一个合并后数组去掉同类项的方

<!DOCTYPE html> <html> <head> <title>test013_Array_prototype_unique()</title> </head> <script type="text/javascript"> Array.prototype.unique = function() { var a = {}; for (var i = 0; i < this.length;

写一个运用到数组、枚举、强制转换和循环语句的控制台应用程序

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CWork0408 { class Program     { public enum Student { stu1 = 1, stu2 = 2, stu3 = 3, stu4 = 4, stu5 = 5, stu6 = 6 } static void Main(string[] args) { strin