考虑到任何物体与成员是这样的:加入Javascript对象成员?
target
{
x1 : 1
x2 : 2
x3 : 3
y1 : 6
y2 : 5
y3 : 4
}
我需要将对象转换为这样的事情:
target
{
x : [1, 2, 3]
y : [6, 5, 4]
}
从基本的JavaScript我知道,好像下面的函数将工作:
function joinParameters(target, paramName) {
var count = 1;
var array = [];
var name = paramName.concat(count);
var value = target[name];
while (typeof value != undefined) {
array.push(value);
name = paramName.concat(count);
}
target[paramName] = array;
}
所以,我可以说joinParameters(target,“x”);然而问题是,
var value = target[name];
始终未定义。我遵循FireBug中的代码来确保目标对象具有我想要获取的属性,并且它具有。所以,我不太确定有什么问题。
如果jQuery有这样做的优雅方式,那么我宁愿那个解决方案。
您的意思是使用'.join'而不是'.concat'? '.concat'将返回一个数组,'.join'将返回一个字符串。 – NT3RP 2011-03-02 01:42:37
我认为他的意思是实际上做一个substr ..因为paramName是一个字符串 – zachallia 2011-03-02 01:45:04
该String对象也有一个concat方法。当我单步执行代码时,它确实正确地连接了字符串。 ref:http://www.w3schools.com/jsref/jsref_concat_string.asp – Tedderz 2011-03-02 01:51:48