javascript字符串操作split、join、toString、sort、parseInt、JSON.stringify、JSON.parse

//取得 這個字符串
console.log("===========split: 字符串截取===========");
let str = "a = 1";
let str_sp = str.split("=");     //以=分割字符串  返回值是一個數組。
console.log(str_sp);  //[ 'a ', ' 1' ]

console.log(str_sp[0]);  //a 空格
console.log(str_sp[1]);  //空格 1
//==================================
console.log("===========join: 用作分隔符字符串===========");
var colors = ["red", "green", "blue"];
console.log(colors.join(",")); //red,green,blue
console.log(colors.join("||")); //red||green||blue
console.log(colors.join("")); //red||green||blue
//==================================
console.log("===========所有對象都有toString方法: 返回數組的字符串表示===========");
let nmb = 123;
let nmb1 = nmb.toString();
console.log(nmb1);          //123

var colors = ["red", "blue", "green"];
console.log(colors.toString());          //red,blue,green

//==================================
console.log("===========對象轉成字符串===========");
let obj_ts_toString = {
    "num1" : 12,
    "nub2" : 33
}
//直接進行轉換 可以轉換成字符串
let jsonText = JSON.stringify(obj_ts_toString);
console.log("對象轉換成json的結果是" + ':' + jsonText);

var obj_ts_toString_Copy = JSON.parse(jsonText);
console.log("json轉換成對象的結果是" + ':' + obj_ts_toString_Copy);
console.log("json轉換成對象的結果是" + ':' + obj_ts_toString_Copy.num1);
console.log("json轉換成對象的結果是" + ':' + obj_ts_toString_Copy.nub2);
//注意,雖然obj_ts_toString obj_ts_toString_Copy 具有相同的屬性,但它們是兩個獨立的、沒有任何關係的對象。

//記住 這裏同toString發放得不到 obj_ts_toString1 的字符串表現
// let obj_ts_toString1 = obj_ts_toString.toString();
// //console.log(obj_ts_toString1.valueOf());
// console.log(obj_ts_toString1);        //[object Object]
//
// console.log("對象轉換和json的結果是" + ':' + JSON.stringify(obj_ts_toString1));
//==========================================================
console.log("======================關於全局對象方法的使用(類型轉換)======================");
//有3 個函數可以把非數值轉換爲數值:Number()、parseInt()和parseFloat()。
let str_to_number1 = "a";
console.log(Number(str_to_number1));      //NaN  不是一個數值
console.log(parseInt(str_to_number1));     //NaN  不是一個數值
console.log(parseFloat(str_to_number1));   //NaN  不是一個數值

let str_to_number2 = "123.01.01";
console.log(Number(str_to_number2));      //NaN  不是一個數值
console.log(parseInt(str_to_number2));     //123
console.log(parseFloat(str_to_number2));   //123.01

//==========================================================
console.log("======================關於sort方法的使用======================");
//sort()方法會調用每個數組項的toString()轉型方法,然後比較得到的字符串,以
// 確定如何排序。即使數組中的每一項都是數值,sort()方法比較的也是字符串,如下所示。
var values = [0, 1, 5, 10, 15];
console.log(values.sort());  //0,1,10,15,5
// 因爲數值5 雖然小於10,但在進行字符串比較時,
// "10"則位於"5"的前面,於是數組的順序就被修改了。
console.log(values); //0,1,10,15,5   比較的是字符串  小的在前大的在後

// sort()方法可以接收一個比較函數作爲參數,以便我們指定哪個值位於哪個值的前面。
function compare(value1, value2) {
    if (value1 < value2) {
        return -1;
    } else if (value1 > value2) {
        return 1;
    } else {
        return 0;
    }
}

var values = [0, 1, 5, 10, 15];
values.sort(compare);
console.log(values); //0,1,5,10,15
//==========================================================



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章