JS对象

W3C关于对象的解释是有属性和方法的特殊数据类型,我自己的理解是键值对的组合。

案例1如下:

题目:去掉字符串中多余的空格

解答:

function format_spaces(str){
    var new_str = [];
    var $len = str.length;
    for(var i=0;i<$len;i++){
        if(i==0 && str[i] != " "){
            new_str.push(str[i])
        }else if(i==$len-1 && str[i] != " "){
            new_str.push(str[i])
        }else if(str[i] != " " || str[i-1] != " "){
            new_str.push(str[i])
        }
    }
    return new_str;
}

案例2如下:

题目:在数组中,找出出现最多的数字

解答:

function most(arr){
    var $obj = {};
    var $times = 0;
    var $num = null;
    var $len = arr.length;
    for(var i =0;i<$len;i++){ 
        if($obj[arr[i]]){ 
            $obj[arr[i]]++; 
            if($obj[arr[i]]>$times){
                $times = $obj[arr[i]];
                $num = arr[i];
            }
        }else{
            $obj[arr[i]]=1;
            $times = 1;
            $num = arr[i];
        }
    }
    var info = {
        num:$num,
        times:$times
    }
    return info;
}

这两个解答方案都是用对象键值对特性解答的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注