您的位置:首页 > 其它

数组操作实例

2014-07-21 18:19 225 查看

1、去重

function qc(arr){
var obj = {},temp = [];
for (var i = 0; i < arr.length; i++) {
//判断字符类型
if(!obj[typeof(arr[i]) + arr[i]]){
obj[typeof(arr[i]) + arr[i]] = true;
temp.push(arr[i]);
}
}
return temp;
}
var arr1 = [1,2,3,2,"2"];
qc(arr1);


2、求一个字符串的字节长度,包括:一个英文字符占用一个字节、一个中文字符占用两个字节。

(function getByte(str) {
var num = 0;
for (var i = 0, l = str.length; i < l; i++) {
if (str.charCodeAt(i) > 255) {
num += 2;
} else {
num++;
}
}
alert(num);
})("你好,John!")


3、判断一个字符串中出现次数最多的字符,统计这个次数

//将字符串的字符保存在一个hash table中,key是字符,value是这个字符出现的次数
var str = "abcdefgaddda";
var obj = {};
for (var i = 0, l = str.length; i < l; i++) {
var key = str[i];
if (typeof obj[key] == 'undefined') {
obj[key] = 1;
} else {
obj[key]++;
}
}
/*遍历这个hash table,获取value最大的key和value*/
var max = -1;
var max_key = "";
var key;
for (key in obj) {
if (max < obj[key]) {
max = obj[key];
max_key = key;
}
}
alert("max:"+max+" max_key:"+max_key);


4、数组排序

function sortNumber(a, b)
{
return a - b
}

var arr = new Array(6)
arr[0] = "10"
arr[1] = "5"
arr[2] = "40"
arr[3] = "25"
arr[4] = "1000"
arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))


5、冒泡排序

var array = [1,2,3,4,5,6,7,8,9];
var dom = document.getElementById('a');
function go(){
var result = array.splice(0,7);
array = array.concat(result);
dom.innerHTML = result.join("");
setTimeout(arguments.callee,3000);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: