[英]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.