`
zhangyaochun
  • 浏览: 2620750 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

array的扩展api设计hash

阅读更多

有的时候我们需要将两个数组合并成类似HashMap结构的对象,这个对象的组成是把第一个数组作为key,第二个数组作为value

 

说明:第一个参数是必须的,第二个参数如果未定义的话,目前可以设置为true(或者你认为的其他值)。

 

简单讲述一下思想吧:

                              1、因为返回值的是一个对象,预先定义一个返回的obj

                              2、因为是拿第一个数组的作为key,所以遍历的length按照第一个数组的length来

                              3、在遍历过程中,往预先定义的obj里面装第二个数组的值,这边就需要判断一下两个数组的长                                        度,不够的话用true或者其他的值去代替

 

 

/*
*hash-merge the two arrays into an obj like hashMap*
*@param {Array} keys---the first array as the key*
*@param {Array} values---the second array as the value
*@remark(if values.length <keys.length will set true)*
*@return {Object} o----the merged object {key:value}*
*@remark(use the first array as the key;if the second array is not defined,we use true)*
*/
ZYC.array.hash = function(keys,values){
       var obj = {},
             _lengthOfV = values && values.length,
             _lengthOfK = keys.length,
            i;
       for(i=0;i<_lengthOfK;i++){
            obj[keys[i]] = (_lengthOfV && _lengthOfV > i) ? values[i] : true;
        }
       return obj;
}
 

 

1
0
分享到:
评论

相关推荐

    mootools api

    - **Array**:MooTools扩展了数组的方法,如`each`用于遍历数组,`indexOf`用于查找元素索引。 - **Function**:增强了函数对象,提供了如`bind`、`delay`等方法,可以绑定上下文或延迟执行函数。 - **String**和...

    PHP最新5.5 API开发文档HTML版

    3. **新函数和方法**:5.5引入了一些新函数,例如`password_hash()`和`password_verify()`,它们提供了安全的密码哈希处理;`yield from`语法支持在生成器中递归地使用其他生成器。 4. **改进的错误处理**:引入了...

    WebKit中JsCore的扩展方法.pdf

    在JavaScript中,有许多内置对象如Array、Date和String等,它们提供了JavaScript的强大功能。在WebKit的源代码中,这些内置对象对应着不同的_Object.cpp文件,例如Math对应Math-Object.cpp,String对应String-Object...

    php扩展开发

    对于数组(Array),则可以通过`zend_hash_add`、`zend_hash_del`等函数来进行增删改查的操作。 - **如何用C++开发扩展**:虽然大多数PHP扩展都是用C语言编写的,但也可以使用C++。需要注意的是,由于PHP的核心是由...

    ruby的API文档,有需要同事请下载

    - 数据结构:如`Array`、`Hash`、`Set`等提供各种数据组织形式,便于数据操作。 - 正则表达式:`Regexp`类提供了正则表达式操作,用于文本匹配和替换。 4. **元编程** - 动态定义:Ruby允许在运行时定义类和方法...

    Prototype API

    Prototype 还包括一些实用工具,如`Array`、`String`和`Number`的扩展方法,以及`Hash`对象,方便处理键值对数据结构。这些工具增强了JavaScript的基本类型,使代码编写更加简洁高效。 8. **开发笔记中文版** ...

    Mootools1.3 core、more API文档

    MooTools More包含许多实用工具,如`Array`和`String`的扩展方法,提高数组和字符串处理的效率。`Hash`类提供了键值对存储和操作,而`Function`类提供了函数相关的辅助方法。 #### 2.5 **CSS和布局** `Element....

    PHP内核介绍及扩展开发指南—基础知识.pdf

    在扩展开发方面,开发者可以利用PHP的内部API编写PHP扩展模块,从而实现对PHP核心的修改或新增功能。编写扩展涉及到对PHP内部内存管理、哈希表操作等底层机制的理解和应用。 以上内容涉及了PHP内核的关键部分,包括...

    Prototype API Documentation

    ### Prototype 1.6:完整的API参考 #### 概述 Prototype是一款JavaScript框架,旨在简化动态Web应用的开发过程。该框架由Sam Stephenson创建,并于2005年2月作为开源项目发布。Prototype的核心开发团队还包括...

    单兴华CTO-学习Mysql经典教程-附录G Perl DBI API 参考.pdf

    API中包含了针对MySQL的特定扩展,即DBD::mysql驱动程序,这使得Perl脚本能够更方便地与MySQL数据库交互。 #### 三、编写Perl脚本 使用Perl DBI API进行数据库操作的基本步骤包括: 1. **导入DBI模块**:在脚本...

    rubyAPI文档

    5. 数据类型:包括字符串(`String`)、数字(`Fixnum`和`Bignum`)、符号(`Symbol`)、数组(`Array`)、哈希(`Hash`)等。 最后,`ruby19`可能包含了Ruby 1.9版本的整体API文档,这可能涵盖了`ruby19-stdlib`和...

    prototype 中文API

    `prototype.js` 扩展了多个原生JavaScript对象,包括`Object`, `Number`, `Function`, `String`, `Array`等,增强了它们的功能,例如添加了额外的属性和方法。 ##### 5.2 document DOM扩展 DOM操作是Web开发中的...

    prototypejs1.6.1_rc2最新版

    5. **对象和数组操作**:PrototypeJS扩展了JavaScript的基本类型,如Array和Hash。提供了诸如`Array.prototype.each()`, `Array.prototype.map()`, `Hash.keys()`, `Hash.values()`等实用方法,增强了数组和对象的...

    Covariant Script文档(201201)1

    Covariant Script语言的API包括标准库和扩展库两个部分: 1. 标准库(Standard Library) * 全局(Global) * 异常(Exception) * 输入输出流(IOStream) * 系统(System) * 运行时(Runtime) * 数学(Math) * 字符...

    Ruby on Rails 指南 v5.0.1 中文版

    - **Array的扩展**:列举Array类被扩展后的新方法。 - **Hash的扩展**:展示Hash类的扩展方法。 - **Regexp的扩展**:说明Regexp类的扩展方法。 - **Range的扩展**:列举Range类被扩展后的新方法。 - **Date的扩展**...

    笔试\百度-2009-科大-笔试题

    首先,设计一个元数据模型来描述对象与表的关系,然后提供API用于对象的CRUD操作。关键语言特性可能包括反射、注解和动态代理。例如,Python的ORMapping框架SQLAlchemy就利用了元类和装饰器来实现对象与表的映射。 ...

    PHP框架Gaeaphp.zip

    Gaeaphp 是一个基于 flightphp 的 PHP 框架基础环境要求php 5.4 安装WebServer,具体配置方法参见Flight按照要求Php-Memcached扩展,具体配置方法参见pecl结构设计项目目录结构|-app/|  |-configs/ 配置文件夹|  |...

    PHP扩展迁移为PHP7扩展兼容性问题记录

    新的定义为`ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition*pos);` 关于类型检查,PHP7中移除了`Z_TYPE_PP`、`IS_...

    tp6 redis应用方案应用方案应用方案

    我们使用 Redis 的 Hash 数据类型来存储购物车列表数据,并使用 array_multisort 排序获取总数量。 购物车管理 在购物车管理中,我们使用 Redis 存储购物车数据,并提供了购物车列表数据的展示功能。在添加或修改...

Global site tag (gtag.js) - Google Analytics