我可以使用 for 循环吗? 或者为此函数,并且对于这个数组来说,make 是最短和动态的



我是新来的,想在这里学习,所以我想从你们那里得到一些信息和学习。 我们可以将 ForEach 用于此语句或 if 语句吗?

var people = [
[1, 'Dimitri', 'Microsoft'],
[2, 'Mike', 'Microsoft'],
[3, 'John', 'Microsoft']
];


var people2 = `ID : ${people[0][0]}`;
var people3 = `NAME : ${people[0][1]}`;
var people4 = `COMPANY : ${people[0][2]}`;
console.log(people2);
console.log(people3);
console.log(people4);

var people5  = `ID : ${people[1][0]}`;
var people6 = `NAME : ${people[1][1]}`;
var people7 = `COMPANY : ${people[1][2]}`;
console.log(people5);
console.log(people6);
console.log(people7);

var people8  = `ID : ${people[2][0]}`;
var people9 = `NAME : ${people[2][1]}`;
var people10 = `COMPANY : ${people[2][2]}`;
console.log(people8);
console.log(people9);
console.log(people10);

您可以使用数组进行所需的描述,并获取相应索引的数组的值。

var people = [[1, 'Dimitri', 'Microsoft'], [2, 'Mike', 'Microsoft'], [3, 'John', 'Microsoft']],
keys = ['ID', 'NAME', 'COMPANY'];
people.forEach(a => keys.forEach((k, i) => console.log(`${k} : ${a[i]}`)));
.as-console-wrapper { max-height: 100% !important; top: 0; }

如果要获取具有名称属性的对象,可以使用速记属性

var people = [[1, 'Dimitri', 'Microsoft'], [2, 'Mike', 'Microsoft'], [3, 'John', 'Microsoft']];
console.log(people.map(([ID, NAME, COMPANY]) => ({ ID, NAME, COMPANY })));
.as-console-wrapper { max-height: 100% !important; top: 0; }

作为初学者,您可以简单地使用For loop来迭代 2D 数组。对于所需的输出,您可以将keys保存在单独的数组中并打印为描述

var people = [
[1, 'Dimitri', 'Microsoft'],
[2, 'Mike', 'Microsoft'],
[3, 'John', 'Microsoft']
];
var keys = ["ID","NAME","COMPANY"];
for(var i = 0; i < people.length; i++) {
var peopeleData = people[i];
for(var j = 0; j < peopeleData.length; j++) {
//console.log("people[" + i + "][" + j + "] = " + peopeleData[j]);
console.log(keys[j]+" : "+ peopeleData[j]);
}
}
.as-console-wrapper { max-height: 100% !important; top: 10; }

既然你有一个数组,你绝对应该使用循环来迭代它。在这种情况下,您应该创建一个对象数组而不是数组数组。

当然你可以:

var people = [
[1, 'Dimitri', 'Microsoft'],
[2, 'Mike', 'Microsoft'],
[3, 'John', 'Microsoft']
];
for (var i = 0; i < people.length; i++) {
var item = people[i];
for (var s = 0; s < item.length; s++) {
var subitem = item[s];
switch (s) {
case 0: console.log('ID :' + subitem); break;
case 1: console.log('NAME :' + subitem); break;
case 2: console.log('COMPANY :' + subitem); break;
}
}
}

但是下次使用 json 数组。问候

var people = [
{ 'ID': 1, 'NAME': 'Dimitri', 'COMPANY': 'Microsoft' },
{ 'ID': 2, 'NAME': 'Mike', 'COMPANY': 'Microsoft' },
{ 'ID': 3, 'NAME': 'John', 'COMPANY': 'Microsoft' }
];

您可以将人员的结构更改为对象数组,如下所示:

var people = [
{ id: 1, name: 'Dimitri', company: 'Microsoft' },
{ id: 2, name: 'Mike', company: 'Microsoft' },
{ id: 3, name: 'John', company: 'Microsoft' },
];

然后使用解构将其与您想要的任何循环一起使用。例子:

var people = [
{ id: 1, name: 'Dimitri', company: 'Microsoft' },
{ id: 2, name: 'Mike', company: 'Microsoft' },
{ id: 3, name: 'John', company: 'Microsoft' },
];
// Using for loop
console.log( 'for loop' );
for ( let i = 0; i < people.length; i++ )
{
const { id, name, company } = people[ i ];

// Do something with id, name and company
console.log( id, name, company );
}
// Using for each
console.log( 'for each' );
people.forEach( ({ id, name, company }) => {
// Do something with id, name and company
console.log( id, name, company );

});
// Using for of
console.log( 'for of' );
for ( const { id, name, company } of people )
{
// Do something with id, name and company
console.log( id, name, company );
}

如果您希望获得有关去存储的更多信息,可以在线参考 Mozilla 文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

最新更新