考慮到任何物體與成員是這樣的:加入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