2017-09-01 201 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"); 

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

相关问题