我想存儲類似的信息:JavaScript中是否有任何鍵/值對結構?
僞代碼
array(manager) = {"Prateek","Rudresh","Prashant"};
array(employee) = {"namit","amit","sushil"};
array(hr) = {"priya","seema","nakul"};
我可以使用什麼樣的數據結構?
我想存儲類似的信息:JavaScript中是否有任何鍵/值對結構?
僞代碼
array(manager) = {"Prateek","Rudresh","Prashant"};
array(employee) = {"namit","amit","sushil"};
array(hr) = {"priya","seema","nakul"};
我可以使用什麼樣的數據結構?
的對象:
var myobj = {
"manager": ["Prateek","Rudresh","Prashant"],
"employee": ["namit","amit","sushil"],
"hr": ["priya","seema","nakul"]
}
alert(myobj['employee'][1]); // Outputs "amit"
是的,有:
var theArray = {};
theArray["manager"] = ["Prateek","Rudresh","Prashant"];
theArray["employee"] = ["namit","amit","sushil"];
theArray["hr"] = ["priya","seema","nakul"];
這是不正確的,任何對象都是那個結構。你的例子工作,因爲一個數組只是一個對象。 –
@Emil Ivanov:這是完全正確的,它創建了一個2維數組。請詳細說明哪部分不正確 – Ibu
JavaScript中的數組只能由數字索引。通過字符串索引它們是可能的,因爲js中的任何對象都可以通過字符串索引。 –
即使你可以使用的東西如下: -
var obj = new Object();
obj.name = 'Jatin';
obj.place = 'Delhi';
一個正常的對象就行了:
var a = {
key1: "value1",
key2: ["value2.1","value2.2"]
/*etc*/
}
訪問有:
a.key1
a["key1"]
或者使用這樣的JSON。你的僞代碼有一點變化,但它會是可以接受的並且是可擴展的。
var Person = [
{
"name": "Prateek",
"position": "manager"},
{
"name": "James",
"position": "employee"}
];
,你可以將它們存儲在對象的數組:
var Staff = [
{ name: 'Prateek', role: manager },
{ name: 'Rudresh', role: manager },
{ name: 'Prashant', role: manager },
{ name: 'Namit', role: employee },
{ name: 'Amit', role: employee },
{ name: 'Sushil', role: employee },
{ name: 'Priya', role: hr },
{ name: 'Seema', role: hr },
{ name: 'Nakul', role: hr },
];
添加一個ID屬性可能也取決於你的應用程序非常有用。即
{ id: 223, name: 'Prateek', role: manager },
對於ES2015/ES6,您有Map類型。
使用地圖你的代碼看起來像
const map = new Map([
['manager', ['Prateek', 'Rudresh', 'Prashant']],
['employee', ['namit', 'amit', 'sushil']],
['hr', ['priya', 'seema', 'nakul']]
])
console.log(...map.entries())
獲得自己的價值,爲什麼你不能使用JavaScript陣列可以使用Map.get('key')方法
不知道我跟着,如:var managers = [「Prateek」,「Rudresh」,「Prashant」]; ? – brendan