【问题标题】:reverse object value and boolean - 2 codes Javascript反转对象值和布尔值 - 2 个代码 Javascript
【发布时间】:2017-08-18 05:14:43
【问题描述】:

我花了太多时间试图找出这两个代码。 我太累了。我花了最后 2 小时和很多小时试图弄清楚为什么 Code 1 不接受。对于代码 2,它接受了,但我不太确定。

代码 1。

给定一个输入对象,我们如何在反向循环对象和 使用 console.log() 打印其值?

function printObjectValuesInReverse(object) {
    var myArray = [];
    for(var keys in object) {
        myArray.push(object[keys]);
    } 
    for(var i = keys.length-1; i >= 0; i--) {
        console.log(keys[i]);
    }

代码 2

给定一个字符串数组和一个旨在以某种方式测试字符串并返回布尔值是否通过的函数,如果所有字符串都通过测试,则返回 true。

function allStringsPass(strings, test) {
    for (var i =0; i < strings.length; i++) {
        if(test(strings[i]) === false) {
            return false;
        } 
    } 
    return true;

【问题讨论】:

  • 您的两个函数最后都缺少}
  • 对象的属性没有顺序,所以说反向循环是没有意义的。
  • keys 不是一个数组,我不知道你为什么要循环它。你应该反向循环myArray
  • Code 2 看起来如果您添加缺少的} 将是正确的。
  • 训练营的第一周。我还在学习。大声笑谢谢你的提示

标签: javascript object for-loop boolean reverse


【解决方案1】:

代码 1

keys 不是数组。我想你可能想遍历myArray

function printObjectValuesInReverse(object) {
    var myArray = [];
    for(var keys in object) {
        myArray.push(object[keys]);
    } 
    for(var i = myArray.length-1; i >= 0; i--) {
        console.log(myArray[i]);
    }
}

代码 2

只是右括号,它应该可以正常工作:

function allStringsPass(strings, test) {
    for (var i =0; i < strings.length; i++) {
        if(test(strings[i]) === false) {
            return false;
        } 
    } 
    return true;
}

【讨论】:

    【解决方案2】:

    您可以简单地使用reverse 函数。所以你的 console.log 将是 console.log(myArray.reverse())

    更新如果你不想使用reverse函数,你的代码应该是这样的

    function printObjectValuesInReverse(object) {
        var myArray = [];
        for(var keys in object) {
            myArray.push(object[keys]);
        } 
        for(var i = myArray.length-1; i >= 0; i--) {
            console.log(myArray[i]); // I changed this from keys[i]
        }
    }
    printObjectValuesInReverse({a: 1, b: 2, c: 3})

    【讨论】:

    • 作业显然是为了教他们如何编写自己的算法,而不仅仅是使用内置函数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2014-06-13
    • 2011-06-03
    • 2017-06-04
    • 2018-05-20
    • 2020-05-15
    相关资源
    最近更新 更多