反向对象值和布尔值 - 2个代码Javascript

时间:2017-03-25 06:56:51

标签: javascript object for-loop boolean reverse

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

代码1。

给定一个输入Object,我们如何循环使用Object IN REVERSE和 使用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

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

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

2 个答案:

答案 0 :(得分:1)

您只需使用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})

答案 1 :(得分:1)

代码1

2017-03-25 06:46:50,332 [main] ERROR org.apache.pig.tools.pigstats.PigStats - ERROR 0: org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception while executing (Name: moviedata_ratingsdata_join_group: Local Rearrange[tuple]{int}(false) - scope-95 Operator Key: scope-95): org.apache.pig.backend.executionengine.ExecException: ERROR 0: Exception while executing (Name: moviedata_ratingsdata_averagerating: New For Each(false,false)[bag] - scope-83 Operator Key: scope-83): org.apache.pig.backend.executionengine.ExecException: ERROR 0: Scalar has more than one row in the output. 1st : (1,Toy Story (1995),Animation|Children's|Comedy), 2nd :(2,Jumanji (1995),Adventure|Children's|Fantasy) (common cause: "JOIN" then "FOREACH ... GENERATE foo.bar" should be "foo::bar" ) 不是数组。我想你可能想要迭代keys

myArray

代码2

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

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]);
    }
}