`
delino
  • 浏览: 8508 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Map array 和 array

阅读更多
今天看某人写的 JavaScript 模仿HashMap 帖子的时候发现。。。

竟然有很多人 说没有什么区别,我很是疑惑。。。。

var mapArray = {
 key1: content1,
 key2: content2
};

var array = new Array();
array[0] = new Array();
array[0][0] = "1";
array[0][1] = "2";


mapArray 是一个key值 和 content 值相对应的数组对象



array 虽然将array[0]作为一个新的数组了,可它依然是个普通的数组啊。。。

不明白很多人为什么会说他们是一样的,没什么区别,说在开发中根本不会遇到。。。

从我开发到今天来看 已经遇到过不少这样的用法了,,。。。


比如我们要写一个通用方法  以css 为例

      
function setCss(elem, options){
		if( options && typeof options == 'object' ){
			for( var name in options ){
				var nameCase = name.replace(/\-(\w)/g, function(all, letter){
					return letter.toUpperCase();
				});
				
				elem.style[nameCase] = options[name];
				
				if( jPack.browser.msie && name == 'opacity' )
					elem.style.filter = 'alpha(opacity='+options["opacity"]*100+')';
			}
		}
	}


这个地方options 参数就应该传一个 mapArray 进来才方便使用啊。。。。。。。

调用:

    
 setCss("demo1", {"width": "100px", "height": "50px"});


这样的例子不就最好的应用了mapArray 了吗? 如果不用关联性的数组,我们要一个个的去添加?

setCss1("demo1", "100px", "50px");

这样即不方便别人使用,自己写方法的时候也需要大量的代码。。。。

个人愚见。。。希望大家来讨论。。。

至于复杂度,我就暂时没有把它考虑进来讨论了。。。

分享到:
评论
2 楼 delino 2009-06-13  
ming500 写道
js中,这种map方式传递参数,真的简便了许多,同时结合 default 和extends 就
完全实现了默认参数的处理,而且还优雅的解决了 空值的问题.

用起来很顺手,而且参数的含义也很清晰

是啊。我也是这么觉得的。。。在某些情况下这种方式的确非常直观。

可是那天看帖子。。却有好多人。。说这种 Map 是没有必要的。。。
1 楼 ming500 2009-06-13  
js中,这种map方式传递参数,真的简便了许多,同时结合 default 和extends 就
完全实现了默认参数的处理,而且还优雅的解决了 空值的问题.

用起来很顺手,而且参数的含义也很清晰

相关推荐

    JavaScript实现Array(数组)和Map

    在JavaScript中,Array和Map是两种非常重要的数据结构,它们各有各的特点和应用场景。这篇文章将深入探讨这两个概念,以及如何在实际开发中使用它们。 首先,Array是JavaScript中最基础的数据结构之一,它允许我们...

    JavaScript 实现Array(数组)和Map

    在JavaScript编程中,Array和Map是两种非常重要的数据结构,它们各自有其独特的作用和应用场景。Array主要用于存储一组有序的元素,而Map则提供了一种键值对的存储方式,适用于关联不同类型的值。 Array(数组)是...

    StringtoList和StringtoMap和StringtoObject和StringtoArray

    在处理JSON时,我们有时需要将JSON字符串转换为Java中的各种数据类型,如List、Array、Map和自定义对象。本文将详细介绍如何进行这些转换,并提供一个封装好的转换方法和示例。 1. **String to List** JSON字符串...

    PHP中array_map与array_column之间的关系分析

    在PHP编程语言中,`array_map()` 和 `array_column()` 是两个非常实用的数组处理函数,它们各自有特定的功能,并且在某些场景下可以互相补充。这篇文章主要探讨这两个函数之间的关系以及如何根据需求选择合适的使用...

    JavaScript中的Array的创建方式和Array与Map的应用

    总结,JavaScript中的Array和Map各有其特性和用途,Array适用于有序的元素集合,Map适用于键值对的存储。理解并熟练运用它们可以提高代码的效率和可读性。在实际开发中,结合源码学习和使用工具,可以更好地理解和...

    js 重写Array 类似map key,value结构

    javaScript,重写Array 类似java map的key,value键值对结构

    浅析php中array_map和array_walk的使用对比

    在PHP编程语言中,`array_map()` 和 `array_walk()` 都是用来遍历数组并执行特定操作的函数,但它们的使用方式和目的有所不同。下面将详细解析这两个函数的用法和特点。 **一、array_map()** 1. **功能**:`array_...

    array-to-map-源码.rar

    总的来说,"array-to-map-源码.rar"这个压缩包中的源代码将为我们展示如何在不同的编程环境中有效地进行数组到映射的转换,以及在转换过程中可能出现的问题和解决方案。对于理解和学习数据结构转换以及编程语言特性...

    Array、Map学习

    根据给定的信息,我们可以从以下几个方面来探讨与Array、Map相关的Scala知识点: ### 1. 元组(Tuple) 在Scala中,元组允许我们组合不同类型的元素到一个单一的复合值中。元组通常用来表示固定大小的有序集合。 ...

    JavaScript中利用Array和Object实现Map的方法

    主要介绍了JavaScript中利用Array和Object实现Map的方法,实例分析了javascript实现map的添加、获取、移除、清空、遍历等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    JavaScript Array map.docx

    - **函数参数:** 在 `map()` 方法的回调函数中,可以使用三个参数:`currentValue`, `index`, 和 `arr`。根据实际需求选择使用哪些参数。 - **`this` 值:** 如果需要在回调函数中访问外部对象的属性或方法,可以通过...

    Hibernate常见集合映射(Set,List_Array,Map,Bag)

    常见的集合映射类型有 Set、List、Array、Map 和 Bag 等,每种类型都有其特点和应用场景。 Set 集合映射 Set 集合是 Hibernate 中基础的集合类型,元素数据一般使用外键同主表关联。Set 集合非常适用于集合元素不...

    php array_map()数组函数使用说明

    array array_map ( callable $callback , array $array1 [, array $... ] ) 这里,callback是指定的回调函数,它将对每个数组的每个元素进行处理。array1是第一个要操作的数组,而[...array]表示可以传入额外的数组...

    element vue Array数组和Map对象的添加与删除操作

    在Vue.js框架中,Array数组和Map对象是经常用来存储数据的两种结构,尤其是在处理动态数据集合时。Element UI是基于Vue 2.0开发的一套基于Vue的组件库,提供了丰富的界面组件。在后台管理系统的开发中,经常需要动态...

    js 关于map set array等几种数据结构的介绍

    js 关于map set array等几种数据结构的介绍

    php array_map array_multisort 高效处理多维数组排序

    在本篇文章中,将重点介绍如何使用`array_map`和`array_multisort`这两个函数来高效地对多维数组进行排序操作。 首先,`array_map`函数是PHP中用于对数组的每个元素应用回调函数,并返回一个新数组,数组中包含了回...

    C++中rapidjson组装map和数组array的代码示例

    C++中rapidjson组装map和数组array的代码示例 C++中rapidjson组装map和数组array的代码示例是使用rapidjson库在C++中实现JSON数据的处理。rapidjson库是一个快速、灵活的JSON解析和生成库,提供了许多实用的功能和...

    Array.prototype.map:符合Array.prototype.map规范的polyfill

    array.prototype.map 符合ES5规范的Array.prototype.map填充程序/ polyfill / replacement可以使用到ES3。 该软件包实现了接口。 它可以在ES3支持的环境中工作并符合。 因为Array.prototype.map依赖于接收方(“ ...

Global site tag (gtag.js) - Google Analytics