我有一个对象数组,如您在示例中所见。 在一个函数中,我使用数组中每个对象的信息来构建句子。但是在此之前,我想按名称的字母顺序对数组中的对象进行排序。 ->所以我想按 persons []。name
对数组 persons [] 进行排序所以现在的句子是:
一个叫詹姆斯的人有着棕色的头发和绿色的眼睛。
一个叫做Anita的人有金色的头发和蓝色的眼睛。
一个叫约翰尼斯的人,有着金色的头发和灰白的眼睛。
但是我想要这样(按人名的字母顺序排列):
一个叫做Anita的人有金色的头发和蓝色的眼睛。
一个叫詹姆斯的人,有着棕色的头发和绿色的眼睛。
一个叫约翰尼斯的人有金色的头发和灰色的眼睛。
persons = [{
name: 'James',
haircolor: 'brown',
eyecolor: 'green',
},
{
name: 'Anita',
haircolor: 'blond',
eyecolor: 'blue',
},
{
name: 'Johannes',
haircolor: 'blond',
eyecolor: 'grey',
}];
document.write(printSentences(persons));
function printSentences(persons) {
var sentences = '';
for (i = 0; i < persons.length; i++) {
sentences +=
'A human called ' + persons[i].name + ' has ' + persons[i].haircolor + ' hair and ' + persons[i].eyecolor + ' eyes. ' + '<br>'
}
return sentences;
};