繁体   English   中英

Javascript 分配有问题:数组和 object 迭代但我不知道解决方案是什么,我已经尝试了一切

[英]Having a problem with a Javascript assignment: Array and object iteration but I have no idea what the solution is, I have tried everything

任务:遍历数组

在本练习中,您将使用 for....of 循环遍历数组和对象自身的属性。


第 1 步:给您一系列乳制品:

var dairy = ['cheese', 'sour cream', 'milk', 'yogurt', 'ice cream', 'milkshake']

创建一个名为 logDairy 的logDairy 在其中,控制台使用 for...of 循环记录乳品数组中的每个项目。
预期的 output 应该是:

cheese
sour cream
milk
yogurt
ice cream
milkshake

第 2 步。您将获得以下起始代码:
 const animal = { canJump: true }; const bird = Object.create(animal); bird.canFly = true; bird.hasFeathers = true;

创建一个名为birdCan的 function ,在其中使用 for...of 循环遍历鸟对象的属性和控制台日志。 请记住,您需要控制台记录每个鸟对象属性的键和值。


步骤 3.使用与任务 2 相同的起始代码,创建名为“animalCan”的 function,并在其中循环遍历鸟 object 及其原型 - 动物 ZA8CFDE6331BD59EB2AC96F891 中的所有属性... .

我的答案:

 // Task 1 var dairy = ['cheese', 'sour cream', 'milk', 'yogurt', 'ice cream', 'milkshake']; function logDairy(items) { for (const element of items) { console.log(element); } } console.log(logDairy(dairy)); // Task 2 const animal = { canJump: true }; const bird = Object.create(animal); bird.canFly = true; bird.hasFeathers = true; function birdCan(items){ for (let [key, value] of Object.entries(items)) { console.log(key, value); } } console.log(birdCan(animal)); // Task 3 function animalCan(items) { for (let [key, value] in Object.entries(items)) { console.log(key, value); } } console.log(animalCan(animal));


运行代码后出现此错误:
 FAILED: Console logged expected values for logDairy - returned TypeError: items is not iterable but expected cheesesour creammilkyogurtice creammilkshake FAILED: Console logged expected values for birdCan - returned TypeError: Cannot convert undefined or null to object but expected canFly: truehasFeathers: true FAILED: Console logged expected values for animalCan - returned TypeError: Cannot convert undefined or null to object but expected canFly: truehasFeathers: truecanJump: true
var dairy = [
    "cheese",
    "sour cream",
    "milk",
    "yogurt",
    "ice cream",
    "milkshake",
];

function logDairy(array) {
    for (const item of array) {
        console.log(item);
    }
}

logDairy(dairy);

const animal = {
    canJump: true,
};

const bird = Object.create(animal);

bird.canFly = true;

bird.hasFeathers = true;

function birdCan(myObject) {
    for (let [key, value] of Object.entries(myObject)) {
        console.log(key, value);
    }
}
birdCan(bird);

function animalCan(myObject) {
    const props = Object.keys(Object.getPrototypeOf(myObject)).concat(
        Object.keys(myObject)
    );
    for (const prop of props) {
        console.log(prop);
    }
}


animalCan(bird);

// 任务1

var milk = ['奶酪', '酸奶油', '牛奶', '酸奶', '冰淇淋', '奶昔'];

function logDairy() {

for (prop of Object.keys(dairy)){

    console.log(dairy[prop]);
}

}

日志乳制品();

// 任务 2

常量动物 = {

可以跳:真

};

常量鸟 = Object.create(动物);

鸟.canFly = true;

鸟.hasFeathers = true;

function 鸟罐(){

for (prop of Object.keys(bird)) {

    console.log(`${prop}: ${bird[prop]}`);
 }

} 鸟可以();

// 任务 3

function animalCan() {

for (prop in bird) {

    console.log(`${prop}: ${bird[prop]}`);
 }

} 动物可以();

您可以使用以下代码。 我已经提交了作业并获得了 100/100。 希望这对你有用。 快乐的编码...

 // Task 1 var dairy = ['cheese', 'sour cream', 'milk', 'yogurt', 'ice cream', 'milkshake']; function logDairy() { for (const element of dairy) { console.log(element); } } console.log(logDairy(dairy)); // Task 2 const animal = { canJump: true }; const bird = Object.create(animal); bird.canFly = true; bird.hasFeathers = true; function birdCan() { for (keys of Object.keys(bird)) console.log(keys,": ", bird[keys]); } birdCan(); // Task 3 function animalCan() { for (prop in bird) { console.log(prop,": ", bird[prop]); } } animalCan();

希望这可以帮助。 Coursera 评分器会查看细粒度级别,即使冒号的间距也可能构成错误答案,并导致您的作业失败,即使控制台没有记录任何错误。

// Task 1
var dairy = ['cheese', 'sour cream', 'milk', 'yogurt', 'ice cream', 'milkshake'];

function logDairy() {
    for (const element of dairy) {
    console.log(element);
    
    }
}

console.log(logDairy(dairy));

// Task 2

const animal = {
    canJump: true
};

const bird = Object.create(animal);
bird.canFly = true;
bird.hasFeathers = true;

function birdCan() {
    for (keys of Object.keys(bird))
        console.log(keys,": ", bird[keys]);
}


    
birdCan();


     
// Task 3

function animalCan() {
    for (prop in bird) {
        console.log(prop,": ", bird[prop]);
    }
}
animalCan();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM