字符串中的数字加上中括号

325 阅读1分钟
    /* 匹配里面的每一个字符如果是数字则加上[] */
    var str='abc345efg';
    var strArr = str.split('');
    var reg = /\d/;
    var newArr = [];
    /* forEach是es6的遍历数组的方法,不会对原数组造成改变 */
    /* forEach方法回调里面不可以使用return */
    strArr.forEach(function(item,index){
        if(reg.test(item)){
            item = '['+item+']'
        }
        newArr.push(item)
    })
    for(var i=0;i<str.length;i++){
        if(reg.test(str[i])){
            console.log(typeof str[i])
            /* 因为str是字符串不是对象,没有堆内存和栈内存 ,是基本数据类型*/
            str[i] = '['+str[i]+']'
            console.log(typeof str[i])
        }
        newArr.push(strArr[i])
    }
    console.log(str);
    
</script>