This question already has answers here:
From an array of objects, extract value of a property as array
                            
                                (15个答案)
                            
                    
                2年前关闭。
        

    

我是Java语言的初学者,我正在研究我的Mentor的一个问题,我完全坚持:

创建一个接受一个参数的函数。此参数将是一个对象数组。每个对象将具有1个属性名称。该函数应返回一个新数组,其中填充了对象的名称属性。



namesFunction([{name: 'Tacos'},{name: 'Burritos'},{name: 'Enchiladas'}]);

//returns ['Tacos', 'Burritos', 'Enchiladas']


我不知道如何制作一个for循环,该循环将遍历放入函数参数中的任何数组。我只做过定义数组的事情。

这就是我所拥有的:



function namesFunction(){
  var arr = [];
  for (i = 0; i < arr.length; i++){
    console.log(arr[i].name);
  }
}

namesFunction([{name: 'Tacos'},{name: 'Burritos'},{name: 'Enchiladas'}]);





任何帮助表示赞赏!谢谢!

最佳答案

您正在编写一个带有数组的函数:

function mapObjectsToNames(array) {}


您希望它返回一个新数组:

function mapObjectsToNames(array) {
    var result = [];
    return result;
}


您将不得不遍历数组中的每个元素:

function mapObjectsToNames(array) {
    var result = [];
    for (var i = 0; i < array.length; i += 1) {
    }
    return result;
}


您已经在记录每个元素的name属性:

function mapObjectsToNames(array) {
    var result = [];
    for (var i = 0; i < array.length; i += 1) {
        console.log(array[i].name);
    }
    return result;
}


现在,您要将名称添加到新列表中:

function mapObjectsToNames(array) {
    var result = [];
    for (var i = 0; i < array.length; i += 1) {
        result.push(array[i].name);
    }
    return result;
}

10-04 12:24
查看更多