ES6中forEach的实现

  • 同时适用于数组和对象
function forEach(obj, fn) {
    if (obj===null || typeof obj === 'undefined') {
        return;
    }
    if (typeof obj !== 'object') {
        obj = [obj];
    }
    if (isArray(obj)) {
        for (var i=0, l=obj.length; i<l; i++) {
            fn.call(null, obj[i], i, onj);
        }
    } else {
        for (var key in obj) {
            if (Object.prototype.hasOwnProperty.call(obj, key)) {
                fn.call(null, obj[key], key, obj)
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42505098/article/details/81749010