首页 > 代码库 > 数组常用工具

数组常用工具

//把一个数组传入函数内,返回一个新的数组,这个数组保存的是第一个数组中每一个元素重复的次数。
             function fa ( arr ) {
                    var num;
                    var arra = [ ];
                    for ( var  i = 0; i < arr.length; i++ ) {
                             num = 0;
                             for ( var  j = 0; j < arr.length; j++ ) {
                                           if ( arr [ j ] == arr [ i ] ) {
                                                      num++
                                           };
                             };
                             arra.push ( num );
                   };
                   console.log ( arra );
           };
           var a = [ 1, 2, 3, 3, 2, 1, 3, -2, -2, 1];
           fa ( a );  //[ 3, 2, 3, 3, 2, 3, 3, 2, 2, 3]



//把一个数组传入函数内,返回一个新的数组,这个数组保存的是第一个数组中的元素是否重复。
           function fb ( arr ) {
                    var num;
                    var arra = [ ];
                    for ( var  i = 0; i < arr.length; i++ ) {
                           num = 0;
                           for ( var  j = 0; j < arr.length; j++ ) {
                                       if ( arr [ j ] == arr [ i ] ) {
                                                 num++
                                       };
                           };
                           if ( num > 1 ) {
                                  arra.push ( "重复" )
                           } else {
                                 arra.push ( "不重复" )
                             };
                   };
                   console.log ( arra );
          };
          var  b = [ 1, 2, 3, 4, 5, 3, 1];
          fb ( b );// ["重复", "不重复", "重复", "不重复", "不重复", "重复", "重复"]


//判断一个数组中是否有某个元素,如果有,它出现了几次。
           function fc ( n, arr ) {
                    var num = 0;
                    for ( var  i = 0; i < arr.length; i++ ) {
                                if ( arr [ i ] == n ) {
                                        num++
                                };
                    }; 
                    if ( num > 0 ) {
                    console.log ( "有这个元素,它出现了" + num + "次" )
                   } else {
                           console.log ( "没有这个元素" )
                     };
           }; 
           var c = [ 0, 1, 2, 3, 4, 5, 2, 5, 1, 2, 3];
           fc ( 2, c );//有这个元素,它出现了3次


//求一个数组中的最大值。
           function fd ( arr ) {
                    var num = arr [ 0 ];
                    for ( var  i = 1; i < arr.length; i++ ) {
                               if ( num < arr [ i ] ) {
                                         num  = num ^ arr [ i ];
                                         arr [ i ] = num ^ arr [ i ];
                                         num  = num ^ arr [ i ];
                               };
                      };
                      console.log ( num );
           };
           var d=[0,1,33,32,16,12,8,4];
           fd ( d );//33


//把一个数组按照从小到大的顺序排列。
           function fe ( arr ) {
                    for ( var  i = 0; i < arr.length - 1; i++) {
                                 for ( var  j = i + 1; j < arr.length; j++) {
                                          if ( arr [ i ] > arr [ j ] ) {
                                                    arr [ i ] = arr [ i ] ^ arr [ j ];
                                                    arr [ j ] = arr [ i ] ^ arr [ j ];
                                                    arr [ i ] = arr [ i ] ^ arr [ j ];
                                          };
                                  };
                     };
                     console.log ( arr );
           };
           var e = [ 12, 1, 17, 15, 28, 23, 26, -10, 0];
           fe ( e );//[-10,0,1,12,15,17,23,26,28]

 

数组常用工具