JSFiddle - React, Tailwind, and code Playground
by ken3desu
HTML
<div class="col">
<div id="a1"></div>
<button onclick="main()">更新</button>
</div>
SCSS
.col {
display: flex;
flex-direction: column;
div {
margin: 0.5em 0;
}
}
JavaScript
/**
* 負の値を先頭から順に探す関数
*/
function findMinusNumber(numberList){
try{
// forEach を実行
numberList.forEach(item=>{
if(item < 0){
throw item;// throw で現在参照中のアイテムを投げる
}
})
}catch(minusNumber){
// throw された値をキャッチ。Error オブジェクトでなくてもOK
if(typeof minusNumber === 'number'){
return minusNumber; // throw された値を return;
}
}
return null;
}
/** 画面に負の値探索結果を表示する関数 */
function printer(id, numberList){
document.getElementById(id).innerText
= `リスト:${JSON.stringify(numberList)}\n一番最初に見つかった負の値:${findMinusNumber(numberList)}`
}
/** ランダムデータ生成関数 */
const randomInt = () => Math.floor((Math.random() - 0.5) * 100);
const randomIntList = () => Array(5).fill(null).map(()=>randomInt());
/** 負の値探索&表示を実行 */
function main(){
printer('a1', randomIntList())
}
main();