@trz/serialize
一个简单的JavaScript字符串序列化操作工具。
使用说明
导入
使用JavaScript的方式导入库方法:
const Serialize = require('@trz/serialize');
// do something yourself
使用 ES6 import 语法导入:
import Serialize from '@trz/serialize';
// do something yourself
API
-
.get(name: strin): any
-
获取序列指定键名的值,如果存在多个键值对,那么只会返回第一个(获取所有值,需要使用
Serialize.getAll()
)。 -
演示代码:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log(serialize.get('a')) // => 1 console.log(serialize.get('b')) // => 2
-
-
.getAll(name: string): any[]
-
获取序列指定键名的所有值。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log(serialize.getAll('b')) // => [2, "B"]
-
-
.append(name: string, value: any): void
-
添加一个指定的键/值对作为新的序列。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); serialize.append("x", "666"); console.log(serialize.toString()) // => a=1&b=2&c=3&d=4&b=B&a=666 serialize.append("a", "666"); console.log(serialize.toString()) // => a=1&b=2&c=3&d=4&b=B&a=666
-
-
.set(name: string, value: any): void
-
将与给定序列键名相关的值设置为给定值。如果有多个值,则删除其他值。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); serialize.set("a", "666"); console.log(serialize.toString()) // => a=666&b=2&c=3&d=4&b=B serialize.set("z", "777"); console.log(serialize.toString()) // => a=666&b=2&c=3&d=4&b=B&z=777
-
-
.delete(name1: string, ...): void
-
从所有序列中删除给定的键及其相关值。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); serialize.delete("a", "b"); console.log(serialize.toString()) // => c=3&d=4
-
-
.has(name: string): boolean
-
返回一个布尔值,表明是否存在这样的序列键名。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log(serialize.has('a')) // => true console.log(serialize.has('x')) // => false
-
-
.keys(): string[]
-
返回序列中的键的列表。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log(serialize.keys()) // => ["a", "b", "c", "d", "b"]
-
-
.values(): any[]
-
返回序列中的值的列表。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log(serialize.values()) // => ["1", "2", "3", "4", "B"]
-
-
.toString(): string
-
返回一个包含序列字符串的字符串,适合在URL中使用。不包括问号。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log('' + serialize.toString()); // => a=1&b=2&b=B&c=3&d=4
-
-
.stringify(): string
-
返回一个包含序列字符串的字符串,适合在URL中使用。不包括问号。
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); console.log('' + serialize.stringify()); // => a=1&b=2&b=B&c=3&d=4
-
-
.sort(): Serialize
-
将序列的键按字母表的顺序进行排序
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('d=4&a=1&b=2&c=3&b=B'); serialize.sort(); console.log('' + serialize); // => a=1&b=2&b=B&c=3&d=4
-
-
.forEach(callback: (name: string, value: number, parent: Serialize) => void, thisArg?: any): void
-
遍历所有的序列键值对
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B'); serialize.forEach((name, value) => { console.log('name:', name, 'value:', value); }); /* name: a value: 1 name: b value: 2 name: c value: 3 name: d value: 4 name: b value: B */
-
-
.entries(): IterableIterator<[string, any]
-
迭代器
-
代码演示:
import Serialize from '@trz/serialize'; const serialize = new Serialize('a=1&b=2&c=3&d=4&b=B');
-