首页 > 解决方案 > Javascript - 从 JSON 数组返回一个 JSON 对象

问题描述

我正在尝试在这里解决一项任务。我需要将一个 JSON 对象返回给我的函数 LearnObject——据我所知,它现在是一个数组。我必须使用 JSON.stringify 方法来解决这个问题吗?有人可以帮忙吗?

谢谢!

var answer = "No"
var mood = "I'm tired";

var answer = "No today"
var mood = "Not cool at all";

var answer = "maybe"
var mood = "just tired";

var answer = "yes";
var mood = "i'm ready for it";


console.log(LearnObject(answer, mood));

function LearnObject(reason,mood) {
    var obj =[];
    var notValidAnswer = 'Try again';
    var shortReason = ' Please explain your feelings in more details';

    switch(answer){
        case 'yes':
        obj.push ('Nice');
        break;
        case 'no': 
        obj.push ('not at all');
        break;
        case 'maybe':
        obj.push ('be nicer');
        break;
        default:
        obj.push(notValidAnswer);
    }
if(validate(reason) && obj.indexOf(notValidAnswer)==-1){
obj.push(shortReason);
}
var objLength = obj.length;
 for (var i = 0; i<objLength; i++) {
 obj.push("Enjoy your day");
}
return obj;

}

function validate(reason){
    return reason.split('').length < 3
}

标签: javascriptjson

解决方案


很难理解你想要什么,但我认为这可以帮助你

var answer1 = "no"
var mood1 = "I'm tired";

var answer2 = "No today"
var mood2 = "Not cool at all";

var answer3 = "maybe"
var mood3 = "just tired";

var answer4 = "yes";
var mood4 = "i'm ready for it";


console.log(LearnObject(answer1, mood1));

function LearnObject(reason,mood) {
    var obj = {};
    var notValidAnswer = 'Try again';
    var shortReason = ' Please explain your feelings in more details';

    switch(reason){
        case 'yes':
        obj['somefield'] = 'Nice';
        break;
        case 'no': 
        obj['somefield'] = 'not at all';
        break;
        case 'maybe':
        obj['somefield'] = 'be nicer';
        break;
        default:
        obj['somefield'] = notValidAnswer;
    }
if(validate(reason) && obj.somefield != notValidAnswer){
  obj['someOtherField'] = shortReason;
}
obj['anotherOneField'] = "Enjoy your day"

return obj;

}

function validate(reason){
    return reason.split('').length < 3
}


推荐阅读