2011-11-04 72 views
0

我有一个函数的Javascript关联数组问题

var myarr[] =new Object(); 
    function myfunction(id,msg) 
{ 
    myarr[id,msg] 
} 

我试图用ID添加味精作为重点...但它不工作... plz帮助

+1

var myarr = []; 和 myarr [id] = msg; – Birey

+0

感谢giys ...它与我的ARR大括号是一个错字 – abbas

回答

7

的语法是:

声明myArr,该:

myarr = {}; 

添加项目:

myarr[id] = msg; 
+0

谢谢..它工作 – abbas

+0

你能告诉我如何排序以及...基于这是一个字符串,而不是一个int的ID? – abbas

+0

@abbas:您无法对对象属性进行排序,它们是无序的。我建议你阅读[MDN JavaScript指南](https://developer.mozilla.org/en/JavaScript/Guide),并让自己熟悉数组和对象之间的区别。 –

3

的JavaScript不是Java。

以下函数将创建一个由对象组成的数组。

var myarr = []; //Or: var myarr = {}; 
function myfunction(id, msg) { 
    var obj = {}; //Create object 
    obj[id] = msg; //Set property with key=id, with value=msg 
    myarr.push(obj); //Use `push` method of the array to insert object in an array 
} 

如果你想创建一个对象,并使用键= id和值=味精设置性的判定,使用:

var myarr = {}; 
function myfunction(id, msg){ 
    myarr[id] = msg; 
} 
3

我想你的意思:

function myfunction(id,msg) 
{ 
    myarr[id] = msg; 
} 
0

首先声明一个变量在JavaScript中数组或对象时,你不包括括号[]

var myarr = new Object(); 

其次,您需要调整您的任务:

myarr[id] = msg;