[英]Javascript: how to create multidimensional Array?
var mahasiswa = new Array();
mahasiswa[0] = new Array("100000001", "Alda", "man", "1 Mei 1994", "DKV");
mahasiswa[1] = new Array("100000002", "Aldi", "woman", "2 Mei 1994", "Seni");
mahasiswa[2] = new Array("100000003", "Aldo", "man", "3 Mei 1994", "Seni");
mahasiswa[3] = new Array("100000004", "Alfi", "man", "4 Mei 1994", "Akutansi");
mahasiswa[4] = new Array("100000005", "Andi", "man", "5 Mei 1994", "Seni");
mahasiswa[5] = new Array("10000006" , "Bandri","woman", "6 Mei 1994", "DKV");
我怎么只能打印女人的名字? 名稱為inex 1
(Alda / Aldi等)。
如果您確實不需要數組,則使用對象會容易得多。
將對象視為具有鍵值的映射。
var mahasiswa = [];
mahasiswa.push({
id: "100000001",
name:"Alda",
gener: "man",
someDate: "1 Mei 1994
});
mahasiswa.push({
id: "100000001",
name:"Alda",
gender: "woman",
someDate: "1 Mei 1994
});
然后,您可以使用以下內容:
for(var i=0;i<mahasiswa.length;i++){
var person = mahasiswa[i];
if(person.gender === "woman"){
console.log(mahasiswa[i].name)
}
}
如果確實需要數組,請執行以下操作:
for(i=0; i< mahasiswa.length; i++){
var person = mahasiswa[i];
if(person [2]=='woman'){
console.log(person)
}
}
這里有一些背景信息:1)如果用Java初始化數組,最好使用[]而不是new Array()。 它要快得多(請參閱: http : //jsperf.com/literal-vs-new-23 )
2)如果可能,請在數組上使用對象。 它更加靈活
3)請記住,對象是未排序的,對數組進行排序
我認為唯一的方法是遍歷整個數組。
for(i=0;i<= mahasiswa.length;i++){
if(mahasiswa[i][2]=='woman'){
//...
}
}
否則,您應該重新排列數組,並按一維性別對它進行排序。
您可以使用以下方法檢查條目是否為女性:
mahasiswa[n][2] == "woman"
因此,使用for循環,您只能打印出女性的名字:
for (var i = 0, len = mahasiswa.length; i < len; i++){
if (mahasiswa[i][2] == "woman"){
console.log(mahasiswa[i][1]);
}
}
但是通常,在javascript中,您不會將像這樣的數組定義為由對象而是對象組成的數組。
mahasiswa.filter( function( item ){
return item[2] == "woman";
}).map( function( item ){
return item[1]
}); // ["Aldi", "Bandri" ]
您可以使用過濾器獲取'woman'元素,然后僅打印每個元素的名稱:
mahasiswa.filter(function (el) {
return el[2] === 'woman';
}).forEach(function (el) {
console.log(el[1])
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.