2017-09-04 52 views
0

我有一個簡單的Javascript應用程序,計算數組裏面重復的數字...轉換JS以打字稿

目前我正在學習打字稿,我想談談這個JavaScript插入到打字稿...

我在我的機器上啓動並運行,但在學習有關Angular 2.0和Typescript的所有信息的同時,它可能會變得不堪重負。

將此轉換爲Typescript的最佳方法是什麼?

$(document).ready(function() { 
    var n = prompt("Enter your numbers").split(","); 
    console.log(n); 

    var counts = {}; 
    n.forEach(function(x) { 
    counts[x] = (counts[x] || 0) + 1; 
    }); 

    document.write(
    "<h1>Enter numbers when prompted!</h1>" + 
     "<p>You entered following numbers:</p>" + 
     n + 
     "<br/>" + 
     "<p>The occurence is as follows:</p>" + 
     JSON.stringify(counts) 
); 
}); 
+1

任何JavaScript文件也是有效的打字稿。所以你已經完成了 – Evert

+0

如果你在學習角和打字稿的時候遇到了麻煩(而且這是完全合理的),那麼**不要**。通過一些打字稿教程。習慣思考類型。然後學習角度。 –

+0

是的,我是關於pluralsight的打字稿課程,這很好,但是如果一個新手有一個問題,它可能很難找到一個答案,只是使用谷歌搜索(打字稿不像Javascript那麼普遍) – prius

回答

1

你真的不用做任何事情,你的JS在TS中也可以正常工作。但是,如果您想充分利用所有功能,請參閱以下內容:

$(document).ready(() => { 

    var n = prompt("Enter your numbers").split(","); 
    console.log(n); 

    var counts : { [nr: string]: number } = {}; 
    n.forEach((x) => { 
     counts[x] = (counts[x] || 0) +1; 
    }); 

    document.write(` 
    <h1>Enter numbers when prompted!</h1> 
    <p>You entered following numbers:</p>${n}<br/> 
    <p>The occurence is as follows:</p>${JSON.stringify(counts)}`); 

});