【发布时间】:2013-06-12 05:06:17
【问题描述】:
考虑以下 JavaScript 全局对象:
var obj = { key1: [ 'data1', 'data2', ... ], key2: [ 'data1, 'data2', ... ], ... }
假设我有一个函数需要修改分配给obj 中特定键的数组。使用局部变量进行计算并在函数末尾修改数组是否更有效,还是应该直接修改数组,因为它不在对象内部?
本质上,我是在问哪个函数更高效:
function local_variable() {
var foo = [];
$( selector ).map(function() {
foo.push( $( this ).val() );
});
obj[ keyx ] = foo;
}
对
function global_object() {
obj[ keyx ] = [];
$( selector ).map(function() {
obj[ keyx ].push( $( this ).val() );
});
}
一如既往,如果有更好的方法来完成这些功能的工作,请赐教。
【问题讨论】:
-
虽然这两个函数都“工作”,但不恰当地使用
.map函数。也许这有助于更好地理解它:en.wikipedia.org/wiki/Map_function. -
这个问题没有实际意义。您使用的 map 方法错误。它用于循环一个数组并返回另一个数组,但您将它用作 each 方法。
标签: javascript jquery arrays variables object