簡體   English   中英

如何在javaScript中創建一個帶有索引和鍵的二維數組?

[英]How can I create a two dimensional array with index and with key in javaScript?

我想在 JavaScript 中創建一個帶有索引和鍵的二維數組,每一行都有索引,列有鍵

myArray[0]=["S.No":"1", "Name":"abcd", "Age":"12"];
myArray[1]=["S.No":"2", "Name":"efgh", "Age":"15"];
myArray[2]=["S.No":"3", "Name":"ijkl", "Age":"20"];

所以輸出應該是

Array
(
[0] => Array
    (
    [S.No] => 1
    [Name] => abcd
    [Age] => 12
    )

[1] => Array
    (
    [S.No] => 2
    [Name] => efgh
    [Age] => 15
    )

[2] => Array
    (
    [S.No] => 2
    [Name] => ijkl
    [Age] => 20
    )
)

如何在 JavaScript 中做到這一點?

想要一個這樣的數組,用於來自 javaScript 的 php。

您不能使用鍵創建數組,因為這不是數組的工作方式。 但是您可以將對象(鍵值對)嵌套到數組中。

myArray[0] = {
    "S-No": 1, "Name" : "abcd", "Age": 12
};
myArray[1] = {
    "S-No": 2, "Name" : "efgh", "Age": 12
};
myArray[2] = {
    "S-No": 3, "Name" : "ijkl", "Age": 20
};

當您輸入myArray[0] JS 將返回對象{"S-No": 2, "Name" : "efgh", "Age": 12 }

並且您可以輕松訪問對象的屬性,例如myArray[0].name將返回abcd

您也可以遍歷對象的屬性。 看看我的代碼示例。

 let myArray = new Array(); myArray[0] = { "S-No": 1, "Name" : "abcd", "Age": 12 }; myArray[1] = { "S-No": 2, "Name" : "efgh", "Age": 12 }; myArray[2] = { "S-No": 3, "Name" : "ijkl", "Age": 20 }; // Acesss objects console.log('>> 1'); console.log(myArray[0]) // Access object properties console.log('>> 2'); console.log(myArray[0].Name); // Iterate through object properties console.log('>> 3'); let myObject = myArray[0]; for(let key in myObject){ console.log('Key = ' + key + ' | Value = ' + myObject[key]); }

您可以像其他語言一樣創建多維數組。 不同之處在於您需要在索引處初始化一個新數組。

let a = [];
for ( let i=0; i<5; i++){
  // Created a new array on index of 1st dimension.
  a[ i ] = [];
  for ( let j=0; j < 2; j++ ) {
    // Here you can add elements to your 2nd dimension.
    a[i][j] = {'a':1};
    // As per your specific requirement, You can do it in following way
    a[i]['Name'] = 'Username';
  }
}
console.log ('a ', a);
console.log('User name', a[0]['Name']);

JavaScript 沒有帶命名索引的數組,所以你不能做類似 myArray[0]['Name'] 你可以有一個二維數組,一個以數組作為其條目的數組,但它們可以被訪問,例如myArray[0][1]

幸運的是在 JavaScript 中有對象的概念(實際上數組是特殊類型的對象)。 你可以有一個對象數組,它看起來好像是你想要的東西,它是:

myArray[0]=["S.No":"1", "Name":"abcd", "Age":"12"];
myArray[1]=["S.No":"2", "Name":"efgh", "Age":"15"];
myArray[2]=["S.No":"2", "Name":"ijkl", "Age":"20"];

你可以像這樣定義一個對象 obj={ 'S_No': '12', 'Name': 'abcd', 'Age': '20' }

在你的情況下,你可以這樣做:

 <script> var myArray=[]; myArray[0]={'S_No': '1','Name': 'abcd','Age': '12'}; console.log(myArray); console.log(myArray[0].Name); console.log(myArray[0].S_No); </script>

請注意,您不能擁有 . 在 S.No 所以我用下划線代替了它。

創建此類數組的基本代碼:

var obj=[];
var array={};
//loop the resulted data OR hard code and push it
for(loop the data){
array.sno = "1"; //data.sno
array.Name = "abcd"; //data.Name
array.Age = "12"; //data.Age
obj.push(array);
}

當您嘗試 console.log(obj[0]) 時,它將打印第 0 個元素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM