字符串反转,将字符串转换为对象

158 阅读1分钟

已知一字符串 var str = 'aabbccdd' ,经过代码加工后变成 'ddccbbaa'

1. 先将字符串str转换为数组
2. 通过数组反转方法 reverse() 将数据反转(语法:数组名.reverse())
3. 再将每一项数据拼接
var str = 'aabbccdd';
//字符串转数组
var str1 = str.split('');
console.log(str1);

//数组反转
var str2 = str1.reverse()
console.log(str2);

//将每一项数据拼接
var str3 = str2.join('');
console.log(str3);

现有一字符串var str = 'aaabbbcccddeeee' ,经过代码加工后变成 {a:3,b:3,c:3<d:2,e:4}

1. 定义一个空对象 obj = {}
2. 通过循环拿到字符串中每一个字符
3. 判断对象obj中是否有相同值
4. 当obj中有相同值时,对值进行自加
var str = 'aaabbbcccddeeee';
var obj = {};
for(var i = 0; i < str.length; i++){
    if(obj[str[i]] == undefined){ //当对象内没有该数据时(undefined)让该值等于1
        obj[str[i]] = 1;
    }else{
        obj[str[i]]++;  //有值后对其进行自加,达到计数的效果
    }
    // console.log(obj[str[i]]);   
}
console.log(obj);
for(var i = 0; i < str.length; i++){
//     if(obj[str[i]] == undefined){   =>  布尔值为false
    if(!obj[str[i]]){
        obj[str[i]] = 1;
    }else{
        obj[str[i]]++;
    }
}
console.log(obj);

通过数组遍历方法求和

 var arr = [1, 2, 3, 4, 5];
 var sum = 0;   //定义一个变量用于存储数据的和
 arr.forEach(function(item, index){ //通过forEach遍历拿出arr的所有数据
     sum+=item;
 })
 console.log(`数组的和为:${sum}`);

通过数组方法将数组的值 放大 10 倍 并返回一个新数组

var arr = [1, 2, 3, 4, 5];
var newArr = arr.map(function(item,index,origin){ //通过map方法遍历数组拿到全部数据
    return item*10;  //返回数组中数据的十倍
})
console.log(newArr);

4. 过滤数组, 让数组内的值只有偶数 var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ===>> 新数组: [2, 4, 6, 8, 10]

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var newArr = arr.filter(function(item,index,origin){ 
    return (item % 2 == 0);
})
console.log(newArr);