2017-04-25 4 views
-2
let Array: any = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"] 

に基づいてオブジェクトを作成しますか? JavaScriptにはまだまだ静かです。どのように私はこの結果を得ることができるようにforループを書くことができますか?事前にみんなに感謝あなたはJavaScriptでオブジェクトに変換するためにreduceを使用することができますは、私は以下のようなオブジェクトには、この配列を変換することができますどのように配列のJavascript

+2

何か試しましたか? –

+0

Arrayをループしていました。しかし、私はオブジェクトの部分に立ち往生しています – blackdaemon

+0

続行する方法がわかりませんでした。私は希望のデータ構造体を持つオブジェクトを宣言するかどうかを指定します。 – blackdaemon

答えて

3

単にこの

var any = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"] 
 
var outputObj = { //create a new object with one default value 
 
    time: { 
 
    headerName: "" 
 
    } 
 
}; 
 
any.forEach(function(item) { //iterate the any array and then keep adding key and values to new Object 
 
    outputObj[item] = { 
 
    headerName: capitalizeFirstLetter(item) 
 
    }; 
 
}); 
 

 
function capitalizeFirstLetter(string) { 
 
    return string.charAt(0).toUpperCase() + string.slice(1); 
 
} 
 

 
console.log(outputObj);

+0

ありがとうたくさんのGurvinder。 'any'配列が何であるか分かりますか? – blackdaemon

+0

@blackdaemonあなたの質問に与えられているように、それは曜日の名前を持つ配列です。 – gurvinder372

+0

ああ、あなたは '配列'を意味します。できますありがとうGurvider – blackdaemon

3

var result = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"].reduce(function (acc, element) { 
 
    acc[element] = {}; 
 
    acc[element].headerName=element; 
 
    return acc; 
 
}, {time: ""}); 
 
console.log(result);

any.reduce(function (acc, element) { 
    acc[element] = {}; 
    acc[element].headerName=element; 
    return acc; 
}, {time: ""}) 
+0

投稿する前に実行してください! –

+0

今より良くなりました:) –

+0

申し訳ありません、ただ私の考えです。私はすぐに私のコードを修正:) –

2

var any = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]; 
 

 
var res ={}; 
 
res['time'] ={headername:""}; 
 
any.map(function(a){ 
 
res[a] = {headername:a} 
 

 
}) 
 
console.log(res)

0
Using For loop. 

を試してみてください

関連する問題