2017-09-01 72 views
0
var dictionary = {"val1": ["arr1", "arr2"], "val2": ["arr3", "arr4"]} 

var addNew = ["arr5", "arr6"] 
dictionary["Val3"] = AddNew 

我想編寫一個函數來將另一個arr值添加到數組中。例如:"val1": ["arr1", "arr2", "arr7]如何在函數中添加數值

但無論我試過它不工作。我是新人,我希望有人能幫助我。

+5

_But無論我試過它不工作_發佈它,讓我們來幫助你... –

+1

你試過'dictionary.val1.push(「arr7」)' – adeneo

+0

你發佈的內容: 'dictionary.val1.push(「arra7」)'和'dictionary.val3 = addNew'(不是AddNew)應該做你想做的。 –

回答

2

做這樣的:

dictionary.val1.push("arr7"); 

addNewAddNew; val3不是Val3。 JavaScript區分大小寫。

+0

工作完美,非常感謝你,我的朋友。正如我告訴我,我很新,很抱歉花時間。 – goktanehrlich

+0

@goktanehrlich如果此答案可幫助您解決問題,請通過單擊此答案左側的複選標記來接受此問題。 – Xufox

0

您可以使用concat功能,新的元素添加到相關數組的末尾:

var dictionary = {"val1": ["arr1", "arr2"], "val2": ["arr3", "arr4"]} 

var addNew = ["arr5", "arr6"] 
dictionary["val1"] = dictionary["val1"].concat(addNew); 
0

如果我猜得不錯,你想幹什麼添加一個數組下對象的新屬性,而不是到數組

function (targetObject, propertyName, newArray){ 
    targetObject[propertyName] = newArray; 
} 

或者你想添加對象的現有物業?

function(targetObject, targetProperty, newArrayToAdd){ 
    Array.concat[targetObject[targetProperty], newArrayToAdd]  
} 
+0

這正是我所需要的。謝謝。 – goktanehrlich

+1

'未捕獲的ReferenceError:PropertyName未定義 - 請注意大小寫。將一個基本語言特徵('obj [prop] = val')包裝到一個函數中也是沒有意義的。 –

+0

是的,我從這裏直接寫下來,錯字;)他要求提供一個我交付的函數。我並沒有質疑這是否合適。 – DanteTheSmith

3

您可以使用此一屬性添加到對象

var dictionary = { 
"val1": ["arr1", "arr2"], 
"val2": ["arr3", "arr4"] 
} 
var add = function(prop, arr){ 
dictionary[prop].push(arr); 

}

add("val2", "arr5"); 

///////////////// ////////////