json ① → name의 만 사용

[

{ id: 1, name: 'Apple' },

{ id: 3, name: "John's Orange" },

{ id: 162, name: 'Banana' },

...

{ id: 3215, name: 'Sweet Potato' }

]


json ② → name의 값으로 가능한 모든 문자열이 key, 한글로 번역한 문자열이 value

{

"Apple": "사과",

"Orange": "오렌지",

"John's Orange": "존의 오렌지",

...

"Banana": "바나나"

...

"Sweet Potato": "고구마"

}



원하는 출력

→ 사과, 존의 오렌지, 바나나, ... , 고구마



사용한 코드


var original = require("./경로/json①");

const translate = require("./경로/json②");


var original_str= JSON.stringify(original);


for (var val in translate) {

original_str = original_str.split(val).join(translate[val]);

}

var changed = JSON.parse(original_str)


var changed_name = changed.map(function(el) {

return el.name;

});

var changed_name_str = changed_name.join(', ');


console.log(changed_name_str);



실제 출력

→ 사과, John's 오렌지, 바나나, ... , 고구마




질문 1: '존의 오렌지'보다 '오렌지'가 먼저 나와서 'John's 오렌지'가 되는데, json 파일 수정 없이 가능할까요?


질문 2: 제가 생각해봐도 비효율적인 거 같은데 더 효율적인 방법이 있을까요?


검색어만 던져주시면 스택오버플로우 찾아보겟읍니다..