JavaScriptの配列(b)は、運動の配列

1、(数字の集合内の最大及び最小位置)最大および最小数、及び位置のセットを見つけます

1つの VARの数= [120、13、25、10、101、88である];
 2      VARの最大=番号[0 ];
 3      VARの分=番号[0 ];
 4      // 最大インデックス
5。     のvar = 0 maxIndex ;
 6      // 最小インデックス
7。     VAR minIndex = 0 ;
 8  
9。     ためVARの I = 1; Iはnumbers.lengthを<; Iは++ ){
 10        // 多数を見つける
11。       IF(MAX < 番号[I]){
 12は          、最大= 番号[I]、
 13であります         maxIndex = I;
14        }
 15        // 找小的数
16        であれば(MIN> 番号[I]){
 17          分= 番号[I];
18          minIndex = I。
19        }
 20      }
 21      にconsole.log(MAX、MIN)。
22      にconsole.log(maxIndex、minIndex)。

2、と文字列配列|または他の符号分割

1  VARの名= [ 'シベリアオオカミ'、 'オオカミ'、 'コヨーテ'、 'Taiweibalang'、 '頭ラオスガオ' ];
 2  // 第2セパレータ要素の前に追加する
。3      VARのセパレーター= ' |「;      // セパレータ
4      のvar STR =名は[0 ];
 5      VAR Iを= 1; I <names.lengthの、私は++ ){
 6。        STR + + =セパレーターと;名[I]
 7。     }
 8      にconsole.log (STR)。

 

3、配列1,2,3,4-フリップ - > 4,3,2,1

1つの VARの数= [4 ,. 5 ,. 7 ,. 9];    //は、配列に格納された新しい配列を作成7. 5. 4. 9。
2      VAR NEWARRAY = [];
 3      VAR。I = numbers.length - 1; I> = 0; i-- ){
 4。        NEWARRAY [newArray.length] = 番号[I];
 5      }
 。6      にconsole.log(NEWARRAY)。

 

4、バブルソート

 1   // 冒泡排序    -- 从小到大的排序
 2     var numbers = [1, 3, 5, 2, 4];
 3     var count = 0;   // 记录循环的次数
 4     // 外层循环:控制趟数,每一趟找到一个最大值
 5     for (var i = 0; i < numbers.length - 1; i++) {
 6       count++;
 7       // 内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移动,小的数往前移动
 8       for (var j = 0; j < numbers.length - 1 - i; j++) {
 9         count++;
10         // 两两比较     从小到大排序 
11         if (numbers[j] > numbers[j + 1]) {
12           // 交换位置
13           var tmp = numbers[j];
14           numbers[j] = numbers[j + 1];
15           numbers[j + 1] = tmp;
16         }
17       }
18     }
19     console.log(numbers);
20     console.log(count);

 

5、冒泡排序——优化

 1   var numbers = [1, 3, 5, 2, 4];
 2     var count = 0; // 记录循环的次数
 3     // 外层循环:控制趟数,每一趟找到一个最大值
 4     for (var i = 0; i < numbers.length - 1; i++) {
 5       // 假设数据排好顺序了
 6       var isSort = true;
 7       count++;
 8       // 内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移动,小的数往前移动
 9       for (var j = 0; j < numbers.length - 1 - i; j++) {
10         count++;
11         // 两两比较     从小到大排序 
12         if (numbers[j] > numbers[j + 1]) {
13           // 没有排好 
14           isSort = false;
15           // 交换位置
16           var tmp = numbers[j];
17           numbers[j] = numbers[j + 1];
18           numbers[j + 1] = tmp;
19         }
20       }
21       // 某一趟结束,判断一下排序是否结束
22       // 如何判断排序是否排好,根据是否发生了数据交换,如果发生了数据交换说明没有排好
23       if (isSort) {
24         // 如果排好顺序
25         break;
26       }
27     }
28     console.log(numbers);
29     console.log(count);

 

 

4、

おすすめ

転載: www.cnblogs.com/niujifei/p/11320203.html