接上一篇文章正則表達式
(這個不是坑)今天在掘金看到一道題函數
let arr = [{ a: 1, i: { b: 2, c: 3, d: 4 } }];
怎麼實現不用i取到abcd的值?
複製代碼
學到兩種方法:ui
1>.編碼
// 將 Unicode 編碼轉爲一個字符(105爲i)
const arr = [{ a: 1, i: { b: 2, c: 3, d: 4 } }];
const {b,c,d} = arr[0][String.fromCharCode(105)];
console.log(b,c,d);
複製代碼
2>.spa
// 解構
let arr = [{ a: 1, i: { b: 2, c: 3, d: 4 } }];
let [{ a, i: { b, c, d } }] = arr;
console.log(a, b, c, d);
複製代碼
原本是發沸點記錄的,可是在評論區看到另外一種感受比較有趣的思路code
3>.regexp
// 正則
let arr = [{ a: 1, i: { b: 2, c: 3, d: 4 } }];
console.log(/"a":(.)/.exec( JSON.stringify(arr))[1]);
複製代碼
都是高手:)字符串
上面exec()這個函數平時幾乎沒見過,因此寫出來
語法:
RegExpObject.exec(string)
exec() 方法用於檢索字符串中的正則表達式的匹配。
若是字符串中有匹配的值返回該匹配值,不然返回 null。
複製代碼
未完待續...string