web-dev-qa-db-ja.com

JavaScript:連想配列への追加

2つのパラメーター(name、telnumber)を受け取るinsertという関数があります。

この関数を呼び出すとき、連想配列に追加したいと思います。

たとえば、次のようにすると、

insert("John", "999");
insert("Adam", "5433");

私はそれをこのように保存したいので:

[0] 
{
name: John, number: 999
}
[1] 
{
name: Adam, number: 5433
}
12
ritch

このような何かがうまくいくはずです:

var arr = [];
function insert(name, number) {
    arr.Push({
        name: name,
        number: number
    });        
}
30
jabclab

このようなものを使用します。

var contacts = [];
var addContact = function(name, phone) {
    contacts.Push({ name: name, phone: phone });
};

// usage
addContact('John', '999');
addContact('Adam', '5433');

電話番号に空白とプラス記号(+)が含まれている可能性があり、ゼロ(0)で始まる可能性があるため、電話番号を整数として解析するべきではないと思います。

5
Stefan
var users = [];

users.Push({name: "John", number: "999"});
users.Push({name: "Adam", number: "5433"});
4
Tomalak

必要に応じて、Array.prototypeに関数を追加できます。

Array.prototype.insert = function( key, val ) {
    var obj = {};
    obj[ key ] = val;
    this.Push( obj );
    return this;
};

そしてこのように使ってください。

var my_array = [].insert("John", "999")
                 .insert("Adam", "5433")
                 .insert("yowza", "1");

[
   0: {"John":"999"},
   1: {"Adam":"5433"},
   2: {"yowza":"1"}
]
2
shredder

insertで配列参照を使用していると仮定します。

var arr;
function insert(na, nu) {
  nu = Number(nu) || 0;
  //alternatively
  nu = parseInt(nu, 10);
  arr.Push({ name: na, number: nu });
}
arr = [];


insert("John", "999");
insert("Adam", "5433");
1
zzzzBov