1-JavaScript设计模式——commonUtils工具库之多维数组的遍历
来源:互联网 发布:二进制安装mysql详解 编辑:程序博客网 时间:2024/06/05 04:35
在学习 JavaScript 设计模式之前,我们先做一个 commonUtils 工具库,以便于后期的学习和使用。
commonUtils 工具库包括:多维数组遍历,继承函数,接口类及其验证。
本章为多维数组的遍历 代码如下:
/* 对于如下多维数组,该如何遍历呢? 其实方法很简单——递归; 对于存在 “无规律的层级关系” 的成员的遍历,也就是 “树状结构” 的成员的遍历,我们应该立刻想到递归*/var arr = [62,31,[45,[16,85]]];// 多维数组
// 为 Array 原型对象添加一个 each 遍历方法Array.prototype.each = function(fn){ try{ // 判断遍历方法入口条件 // 当数组的长度大于0的时候 && 传递的参数必须为函数 if(this.length > 0 && typeof fn === 'function'){ // 判断 this.i 成员是否存在,如果不存在,则创建this.i 作为数组下标 this.i || (this.i = 0); // 开始循环遍历 while(this.i < this.length){ // 获得数组的元素 var item = this[this.i]; // 判断当前元素是否为数组 if(item && item.constructor === Array){ // 如果当前元素为数组,则进行递归操作 item.each(fn); }else{ // 如果当前元素不是数组(那就是一个非数组的最终元素),则将该元素作为参数传递给fn函数 fn.call(item,item);// 第一个参数写啥都行,因为 fn函数 不需要绑定任何作用域 } this.i ++; // 每遍历一个元素,数组下标加1 } this.i = null;// 释放内存 垃圾回收机制回收变量 } }catch(e){ throw new Error('something is error...'); } return this;};
var arr = [62,31,[45,[16,85]]];// 多维数组arr.each(function(item){ alert(item);});
// 结果:62 31 45 16 85
阅读全文
1 0
- 1-JavaScript设计模式——commonUtils工具库之多维数组的遍历
- 2-JavaScript设计模式——commonUtils工具库之继承函数
- 3-JavaScript设计模式——commonUtils工具库之接口类
- JavaScript学习之遍历多维数组
- JavaScript遍历多维数组
- 项目实践积累我的工具类——CommonUtils
- CommonUtils的工具类
- php 多维数组的遍历
- awk多维数组的遍历
- JAVA多维数组的遍历
- javascript原型和多维数组遍历
- javascript自己实现多维数组遍历
- javascript多维数组的排序
- javascript 学习之原型示例练习--- 实现一个each方法,遍历多维数组
- 浅谈Java工具类CommonUtils的使用
- php多维数组的遍历方法
- PHP中多维数组的foreach遍历
- PHP多维数组的递归遍历
- Mysql外部导入SQL文件
- 软件工程入门基本知识
- 刘强东:京东老员工得病保险不够的钱,公司全部包!
- Python字符串常用方法
- 图解TCP/IP
- 1-JavaScript设计模式——commonUtils工具库之多维数组的遍历
- 信息熵
- utils.py
- 关于kali64位下安装ferret
- 2017浙工大之江学院校赛 M dp||记忆化搜索
- haproxy
- EF读取数据库
- js 制作年历
- 由于MDK5.0A没有STM32F103程序错误 stm32f10x.h(298): error: #67: expected a "}"