2017-08-14 2 views
-1

私はjavascript配列を持っている:表示アレイの言葉

["joe", "james", "jane", "jim", "jack", "ADAM", "jill", "jake", "John", "joel", "jeff", "CHARLES"] 

アイデアは(も500msのための)次の小文字の名前に置き換え、その後の500ms秒のためのすべて小文字の名前を表示することです。私が大文字の名前に着くとき、私はそれが5000msの間滞在したいと思う。理想的には、5つの小文字と1つの大文字のパターンがあります。

+4

「アイデアは···」ということは、あなたが問題を抱えていることを示すコードを表示することです... [How to ask](https://stackoverflow.com/help/how- to ask) –

答えて

0

あなたがしなければならない場合:

//<![CDATA[ 
 
var pre = onload, doc, bod, E, weirdWait; // for use on other loads 
 
onload = function(){ 
 
if(pre)pre(); // use different var name to hold more loads on other pages 
 
doc = document; bod = doc.body; 
 
E = function(id){ 
 
    return doc.getElementById(id); // hope you learned something here 
 
} 
 
weirdWait = function(displayDiv, yourArray, timerDiv){ 
 
    var i = 0; 
 
    displayDiv.innerHTML = yourArray[i]; 
 
    if(timerDiv)timerDiv.innerHTML = new Date().toString(); 
 
    function recurse(){ 
 
    var si = setInterval(function(){ 
 
     i++; 
 
     if(!yourArray.hasOwnProperty(i))i = 0; 
 
     var val = yourArray[i]; 
 
     displayDiv.innerHTML = val; 
 
     if(timerDiv)timerDiv.innerHTML = new Date().toString(); 
 
     if(val.match(/^[A-Z]/)){ 
 
     clearInterval(si); setTimeout(recurse, 4500); 
 
     } 
 
    }, 500); 
 
    } 
 
    recurse(); 
 
} 
 
var yourArray = ['joe', 'james', 'jane', 'jim', 'jack', 'ADAM', 'jill', 'jake', 'John', 'joel', 'jeff', 'CHARLES']; 
 
weirdWait(E('output'), yourArray, E('timer')); 
 
} 
 
//]]>
html,body{ 
 
    padding:0; margin:0; 
 
} 
 
.main{ 
 
    width:940px; background:#000; color:#fff; padding:20px; margin:0 auto; 
 
} 
 
#output{ 
 
    font:bold 64px Arial, Helvetica, sans-serif; 
 
}
<!DOCTYPE html> 
 
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'> 
 
    <head> 
 
    <meta http-equiv='content-type' content='text/html;charset=utf-8' /> 
 
    <meta name='viewport' content='width=device-width' /> 
 
    <title>weird wait</title> 
 
    <link type='text/css' rel='stylesheet' href='external.css' /> 
 
    <script type='text/javascript' src='external.js'></script> 
 
    </head> 
 
<body> 
 
    <div class='main'> 
 
    <div id='output'></div> 
 
    <div id='timer'></div> 
 
    </div> 
 
</body> 
 
</html>

+0

ありがとう!これは助けになった –

1

私は実際にはJavascriptを知っているが、ここで

for (int i = 0; i < NameArray.Length; i++) 
{ 
    if (NameArray[i] == NameArray[i].ToLower()) //Javascript equivalent would be .toLowerCase() 
    { 
     Console.WriteLine(NameArray[i]); 
     System.Threading.Thread.Sleep(500); //Javascript equivalent would be wait(500) 
    } 
    else if (NameArray[i] == NameArray[i].ToUpper()) //Javascript equivalent would be .toUpperCase() 
    { 
     Console.WriteLine(NameArray[i]); 
     System.Threading.Thread.Sleep(5000); //Javascript equivalent would be wait(5000) 
    } 

} 
「ジョン」ことになっているあなたは、私が「ジョン」と仮定していること

を見ることで変換することができるはずいくつかのC#だありません

0

これを試してみてください:

const array = ["joe", "james", "jane", "jim", "jack", "ADAM", "jill", "jake", "JOHN", "joel", "jeff", "CHARLES"]; 
 

 
function recursiveStaggeredLoop (arr, i) { 
 
    while (i < array.length) { 
 
    if (array[i] === array[i].toLowerCase()) { 
 
     console.log(array[i]); 
 
     i++ 
 
     return setTimeout(() => { 
 
     return recursiveStaggeredLoop(array, i); 
 
     }, 500) 
 
    } 
 
    else if (array[i] === array[i].toUpperCase()) { 
 
     console.log(array[i]) 
 
     i++ 
 
     return setTimeout(() => { 
 
     return recursiveStaggeredLoop(array, i) 
 
     }, 5000) 
 
    } 
 
    } 
 
    console.log('all done') 
 
} 
 

 
recursiveStaggeredLoop(array, 0)

私はここでループと再帰を単純な0​​を使用して、ジョブを完了させます。

クイックメモは、厳密に小文字または大文字の名前でのみ機能します。元の配列にはこのコードを破る "John"がありました。しかし、これはあなたを始めるのに十分なはずです。

0
const names = ["joe", "james", "jane", "jim", "jack", "ADAM", "jill", "jake", "John", "joel", "jeff", "CHARLES"]; 

const displayName = (index, max) => { 
    if (max === index) { 
    return; 
    } 

    // set your html to the name 

    const timeout = names[index] === names[index].toUpperCase() ? 5000 : 500; 
    setTimeout(displayName(index + 1, max), timeout); 
} 

displayName(0, names.length); 

病気などのdivのinnerHTMLプロパティを設定するなど、その行うには多くの方法をtheresの、あなたにそれを表示する方法を考え出す残します。