js编程笔试题(数组、字符串)

1、编写一个方法 求一个字符串的字节长度;
//假设一个中文占两个字节 

var str = '22字符串';

console.log(getStrlen(str))

function getStrlen(str){
        var json = {len:0};
        var re = /[\u4e00-\u9fa5]/;


        for (var i = 0; i < str.length; i++) {
                if(re.test(str.charAt(i))){
                        json['len']++;
                }
        };
        return json['len']+str.length;

        //中文的匹配计算得到了中文的个数,加上字符串长度就可以了

2、编写一个方法 去掉一个数组的重复元素

var arr = [1,2,3,1,43,12,12,1];
var json = {};
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
        if(!json[arr[i]]){
                json[arr[i]] = true;
        }else{
                json[arr[i]] = false;
        }

        if(json[arr[i]]){
                arr2.push(arr[i]);
        }
};

for (var i = 0; i < arr.length; i++) {
        if(!aa(arr[i], arr2)){
                arr2.push(arr[i])
        }
};
function aa(obj, arr){
        for (var i = 0; i < arr.length; i++) {
                if(arr[i] == obj) return true;
                else return false;
        };
}
alert(arr2)

3、数组降维:

var arr=[[1,2],[3,4]];
function Jw(obj){
     return Array.prototype.concat.apply([],obj);
}
Jw(arr);
console.log(Jw(arr)); //[ 1, 2, 3, 4 ]


 

猜你喜欢

转载自blog.csdn.net/weixin_30363263/article/details/81503656
今日推荐