首页 > 代码库 > 数组常用工具
数组常用工具
//把一个数组传入函数内,返回一个新的数组,这个数组保存的是第一个数组中每一个元素重复的次数。
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]
数组常用工具