0.4.5 • Published 2 years ago
@trz/serialize v0.4.5
@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');