字典辅助函数(Str)

字典辅助方法库允许您以更加便捷的方式对字典进行操作。

可用方法

Filter

将输入字典中的每个值传给回调函数,如果回调函数返回 true,则把输入字典中的当前键值对加入结果字典中。

  1. var src = // { "a" : "1"} , { "b" : "2" }
  2. Dict.Filter(src, (key, val)=> val == "2"); // { "b" : "2" }

Modify

将输入字典中的每个值传给回调函数,回调函数的返回值用于修改元素的值。

  1. var src = // { "a" : "1"} , { "b" : "2" }
  2. Dict.Modify(src, (key , val) => "3");
  3. // src:
  4. // { "a" : "3" },
  5. // { "b" : "3" }

AddRange

将元素批量添加到字典。

  1. var src = // { "a" : "1" }, { "b" : "2" }
  2. var added = // { "c" : "3" }
  3. Dict.AddRange(src, added);
  4. // { "a" : "1" }, { "b" : "2" }, { "c" : "3" }

Map

将字典值传入用户自定义函数,自定义函数返回的值作为新的字典值。

  1. var src = // { "a" : "1" }, { "b" : "2" }
  2. Dict.Map(src, (key,val)=> "3");
  3. // src:
  4. // { "a" : "1"},
  5. // { "b" : "2" }
  6. // return:
  7. // { "a" : "3" },
  8. // { "b" : "3" }

Keys

获取字典的键数组。

  1. var src = // { "a" : "1" }, { "b" : "2" }
  2. Dict.Keys(src);
  3. // { "a" : "b" }

Values

获取字典的值数组。

  1. var src = // { "a" , "1" }, { "b" , "2" }
  2. Dict.Values(src);
  3. // { "1" , "2" }

Get

使用点(.)来访问深度字典(IDictionary<string, object>)。一般性Json的返回结果会被使用深度字典表示。

  1. var src = // { "hello" : { "world" : "catlib" } }
  2. Dict.Get(src, "hello.world"); // catlib
  3. Dict.Get(src, "hello.none", "null"); // null

Set

使用点(.)来访问深度字典,并为其指定位置设定一个值。

  1. var src = // { "hello" : { "world" : "catlib" } }
  2. Dict.Set(src, "hello.catlib" , "hello");
  3. // { "hello" : { {"world" : "catlib"} , { "catlib" , "hello"} } }

Remove

将输入字典中的每个值传给回调函数,如果回调函数返回 true,则移除字典中对应的元素并返回被移除的元素

  1. var src = // { "hello" : "world" }
  2. var result = Dict.Remove(src, (key,value) => true);
  3. // result: { "hello" : "world" }
  4. // { }

使用点(.)来访问深度字典,并移除其中指定的值,返回一个bool值来指定是否成功

  1. var src = // { "hello" : { {"world" : "catlib"} , { "catlib" , "hello"} } }
  2. Dict.Remove(src, "hello.catlib");
  3. // { "hello" : { "world" : "catlib" } }