美文网首页
12.2字符串、数组

12.2字符串、数组

作者: overisover | 来源:发表于2016-12-03 23:21 被阅读0次

字符串

查找字符串
str.indexOf(s,i);//在str中从第i为开始,找s值;

var str='aaaxbbbb';
str.indexOf('x',2);//从第2位开始(不是下标哦),找x值;返回下标位置

截取字符串;
str.slice(x,y)//从下标x位开始,到y-1位结束,截取之间的字符串;str不会变;返回截取的字符串

var str='aaaxbbbb';
str.slice(1,3);// aa

str.charAt(0);//获取字符串的第1位字符;
str.charCodeAt(i);//返回字符串下标第i位的字母对应的unicode编码;
String.fromCharCode(i);//获取数字i对应的 字符;//是String 的静态方法
'0-9'对应的编码是'48-57'
'a-z'对应的编码是'97-122'
'A-Z'对应的编码是'65-90'
用chaCodeAt();判断是不是数字;js代码如下:

<script>
//判断是不是数字,用chaCodeAt();返回ASCII码
    function isNum(str){
        var isNum=true;
        for(var i=0;i<str.length;i++){
            if(str.charCodeAt(i)>57|| str.charCodeAt(i)<48){
                isNum=false;
                break;
            }
        }
        return isNum;
    }
    console.log(isNum('154a'));//false,
</script>

分隔字符串

'a,b,c,c'.split(',')//用逗号将字符分隔成数组;
['a','b','c','d',].join(',')//用逗号将数组拼接成字符;

加密解密

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<script>

//加密
// var str = '123456';

// var encodeStr = '';
// for(var i=0;i<str.length;i++){
//  encodeStr += String.fromCharCode(  str.charCodeAt(i) + 200 );
// }

// console.log(encodeStr);


var decodeStr = 'ùúûüýþ';
var str = '';

for(var i=0;i<decodeStr.length;i++){
    str += String.fromCharCode( decodeStr.charCodeAt(i)-200) 
}

console.log(str);

</script>
</body>
</html>

随机数:

//0-1
Math.random();//生成随机数


arr.sort(function(num1, num2){
    return 0.5-Math.random();
})
console.log(arr);
//x~y的随机数
x+Math.random()*(y-x);//取整:parseInt( x+Math.random()*(y-x) );

数组

var arr=[1,2,3];
arr.push(5)//在数组最后添加值 arr=[1,2,3,5];
alert(arr.push(5))//返回arr的长度;
arr.unshift(5)//在数组前面添加值 arr=[5,1,2,3];
alert(arr.unshift(5))//返回arr的长度;
arr.sort();//从小到大排序;是按字符排的
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        // var arr=['a','bf','sa','ed'];
        // // arr.push('aa');//在数组最后添加值
        // alert(arr);//返回arr的值
        // alert(arr.push('aa'));//返回arr的长度;5

        // // arr.unshift('a1');//在数组前面添加值
        // alert(arr);//返回arr的值
        // alert(arr.unshift('a1'));//返回arr的长度;6
        // //删除
        // //返回值:删除的元素
        // // alert( arr.pop() );//对应push
        // // alert( arr );

        // alert( arr.shift() );//对应unshift;
        // alert( arr );

        //splice  添加 删除 替换
         var arr=[1,3,3,3,5,5,6,17,6];
        // // alert(arr.splice(1,2));//第一位是起始位置,第二位是删除的个数;返回删除值
        // // console.log(arr.splice(1,2,8,4,'a'));//第三位及后面是添加的元素;
        // // console.log( arr );//返回数组的值
        // console.log(arr.splice(1,0,8,4,'a'));//第二位是0表示只添加元素,不删除
        // console.log( arr );

        /*//删除重复值
        for(var i=0;i<arr.length;i++){
            for(j=i+1;j<arr.length;j++){
                if(arr[i]===arr[j]){
                    arr.splice(j,1);
                    j--;//删除之后数组长度会变化。所以j需要减1
                }               
            }
        }
        alert(arr);*/
        //自定义排序规则
        // alert(arr.sort());
        // alert(arr.sort(function(a ,b){
        //  return parseInt(a)-parseInt(b);//默认会把小的数排在前面;
        // }));

        //你猜不到的排序
        Math.random();//数学随机数;0-1;
        arr.sort(function(){
            return 0.5-Math.random();
        })
        alert(arr);//随机
    </script>
</body>
</html>

相关文章

网友评论

      本文标题:12.2字符串、数组

      本文链接:https://www.haomeiwen.com/subject/ofbfmttx.html