2017-05-04 2 views
0

작동하지 않음에 객체 :이 내 배열 자바 스크립트가

var country = ["US(+1)","IND(+91)"]; 

그리고 난 형식으로 아래의이 내 배열을 변환 할 : 대한 동일해야합니다

country = [ 
    { 
     title: "US(+1)",  
    }, 
    { 
     title: "IND(+91)",  
    } 
    ] 

단어 title 각 배열 값. 아래와 같이 제공

var obj = country.reduce(function(o, val) { o['title'][] = val; return o; }, {}); 

이상하지만 내 출력이기 때문에이 코드 내 예상 결과를 얻기 위해 노력하고 있어요 : 오직 마지막 인덱스가 걸리는 곳

{"title":"IND(+91)"}이 내가

을 싶지 않는 잘못된 출력입니다
+0

코드는 어떻게 생겼습니까? – captncraig

+0

내 출력은 다음과 같습니다. { "title": "IND (+91)"} – vaibhav

답변

3

당신은 reduce와 함께 할 수 있습니다하지만 사용하는 것이 훨씬 쉽게 map :

var country = ["US(+1)","IND(+91)"]; 
 
var obj = country.map(function(c){return {title:c}}); 
 

 
console.log("country:", country); 
 
console.log("obj:", obj);

map는 당신이 일의 또 다른 배열로 사물의 배열을 설정하고자 할 때입니다, 당신은 단지 하나의 일에 일의 배열을 설정하고자 할 때 reduce입니다.

+0

일반적으로'map'은 여러 가지를 또 다른 배열입니다. 그리고'reduce'는 배열을 하나의 것으로 만 바꾸고 자 할 때입니다. – Hamms

+0

제대로 표시되도록 코드를 감싸기 위해 markdown 들여 쓰기를 사용하십시오. – Soviut

+1

@Hamms 나는 단지 후손에 대한 대답에 당신의 발언을했다. – Soviut

0
var country = ["US(+1)","IND(+91)"]; 

나는 국가 목록이므로 더 자세한 설명이 필요합니다. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map?v=control

: 여기
var objects = countries.map(function(country){ return { title: country } }); 

지도에 대한 문서입니다 : 새로운 배열로 배열을 조작하기 위해, 귀하의 질문에 대답하는 그러나

var countries = ["US(+1)","IND(+91)"]; 

, 나는 array.map 방법을 사용하려면

관련 문제