var scratchData = [
{name: 'Billy Boy', grade: 'D'},
{name: 'Serious Sara', grade: 'B'},
{name: 'Tepid Tom', grade: 'C'} ];
function makeStudentsReport(data)
如何让这个函数返回一个字符串,表示名字+'正在获得'+等级;我必须归还一个物体。
答案 0 :(得分:2)
您可以使用Array#map
function makeStudentsReport(data) {
return data.map(function (a) {
return a.name + ' is getting a' + ('AEF'.indexOf(a.grade) === -1 ? "" : "n" ) + ' ' + a.grade;
});
}
var scratchData = [{ name: 'Billy Boy', grade: 'D' }, { name: 'Serious Sara', grade: 'B' }, { name: 'Tepid Tom', grade: 'C' }, { name: 'Jet Jane', grade: 'A' }];
console.log(makeStudentsReport(scratchData));
答案 1 :(得分:0)
大卫,你可以使用地图功能和Nina一样,或者你可以使用典型的for循环方式:
var scratchData = [
{name: 'Billy Boy', grade: 'D'},
{name: 'Serious Sara', grade: 'B'},
{name: 'Tepid Tom', grade: 'C'} ];
var get = ' is getting an '; // declaring it with var so it's easier to use
function makeStudentsReport(data) { // data will be the array
for (var i = 0; i < data.length; i++){
var everyObject = data[i]; // everyObject is every object in the array
console.log(everyObject.name + get + everyObject.grade);
}
}
makeStudentsReport(scratchData); // passing the array as a parameter to the function
或者更简单一点,你可以使用Array.forEach()方法:
function makeStudentsReport(data) {
data.forEach(function(object){
console.log(object.name + get + object.grade);
});
}
makeStudentsReport(scratchData);