@ltd/j-orderify
v7.0.1
Published
Return a proxy for given object, which can guarantee own keys are in setting order, even if the key name is symbol or int string. Belong to "Plan J"./返回一个能保证给定对象的属性按此后添加顺序排列的 proxy,即使键名是 symbol,或整数 string。从属于“简计划”。
Downloads
30
Readme
function assign (object) {
object[Symbol("A")] = "1. symbol";
object["_________"] = "2. string";
object[10000000000] = "3. string (decimal integer)";
object[Symbol("B")] = "4. symbol";
object["__proto__"] = "5. string";
object[11111111111] = "6. string (decimal integer)";
return object;
}
/* native object */
const object = Object.create(null) |> assign;
for ( const key of ownKeys(object) ) {
console.log(object[key]);
// "3. string (decimal integer)"
// "6. string (decimal integer)"
// "2. string"
// "5. string"
// "1. symbol"
// "4. symbol"
}
for ( const key in object ) {
console.log(object[key]);
// "3. string (decimal integer)"
// "6. string (decimal integer)"
// "2. string"
// "5. string"
}
/* ordered object */
const ordered = Object.create(null) |> require("@ltd/j-orderify").orderify |> assign;
for ( const key of ownKeys(ordered) ) {
console.log(ordered[key]);
// "1. symbol"
// "2. string"
// "3. string (decimal integer)"
// "4. symbol"
// "5. string"
// "6. string (decimal integer)"
}
for ( const key in ordered ) {
console.log(ordered[key]);
// "2. string"
// "3. string (decimal integer)"
// "5. string"
// "6. string (decimal integer)"
}