Baseline Widely available
Object.entries()
меÑод возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив ÑобÑÑвеннÑÑ
пеÑеÑиÑлÑемÑÑ
ÑвойÑÑв Ñказанного обÑекÑа в ÑоÑмаÑе [key, value]
, в Ñом же поÑÑдке, ÑÑо и в Ñикле for...in
(ÑазниÑа в Ñом, ÑÑо for-in пеÑеÑиÑлÑÐµÑ ÑвойÑÑва из ÑепоÑки пÑоÑоÑипов). ÐоÑÑдок ÑлеменÑов в маÑÑиве коÑоÑÑй возвÑаÑаеÑÑÑ Object.entries()
не завиÑÐ¸Ñ Ð¾Ñ Ñого как обÑÐµÐºÑ Ð¾Ð±ÑÑвлен. ÐÑли ÑÑÑеÑÑвÑÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимоÑÑÑ Ð² опÑеделÑнном поÑÑдке, Ñо маÑÑив должен бÑÑÑ Ð¾ÑÑоÑÑиÑован до вÑзова меÑода, напÑÐ¸Ð¼ÐµÑ Object.entries(obj).sort((a, b) => a[0] - b[0]);
.
const object1 = {
a: "somestring",
b: 42,
};
for (const [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
// Expected output:
// "a: somestring"
// "b: 42"
СинÑакÑÐ¸Ñ ÐаÑамеÑÑÑ
obj
ÐбÑекÑ, ÑÑи пеÑеÑиÑлимÑе ÑвойÑÑва бÑдÑÑ Ð²Ð¾Ð·Ð²ÑаÑÐµÐ½Ñ Ð² виде маÑÑива [key, value]
.
ÐаÑÑив пеÑеÑиÑлений ÑобÑÑвеннÑÑ
ÑвойÑÑв обÑекÑа Ñ Ð¿Ð°Ñами [key, value]
.
Object.entries()
возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив, ÑлеменÑами коÑоÑого ÑвлÑÑÑÑÑ Ð¼Ð°ÑÑивÑ, ÑооÑвеÑÑÑвÑÑÑие пеÑеÑиÑлÑÐµÐ¼Ð¾Ð¼Ñ ÑвойÑÑÐ²Ñ Ð¿Ð°ÑÑ [key, value],
найденной пÑÑмо в object
. ÐоÑÑдок ÑвойÑÑв ÑÐ¾Ñ Ð¶Ðµ, ÑÑо и пÑи пÑоÑ
ождении Ñиклом по ÑвойÑÑвам обÑекÑа вÑÑÑнÑÑ.
var obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
// маÑÑив как обÑекÑ
var obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]
// маÑÑив как обÑÐµÐºÑ c random ÑоÑÑиÑовкой клÑÑей
var an_obj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.entries(an_obj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]
// getFoo is property which isn't enumerable
var my_obj = Object.create(
{},
{
getFoo: {
value: function () {
return this.foo;
},
},
},
);
my_obj.foo = "bar";
console.log(Object.entries(my_obj)); // [ ['foo', 'bar'] ]
// non-object argument will be coerced to an object
console.log(Object.entries("foo")); // [ ['0', 'f'], ['1', 'o'], ['2', 'o'] ]
// returns an empty array for any primitive type, since primitives have no own properties console.log(Object.entries(100)); // [ ] // iterate through key-value gracefully const obj = { a: 5, b: 7, c: 9 }; for (const [key, value] of Object.entries(obj)) { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9" } // Or, using array extras Object.entries(obj).forEach(([key, value]) => { console.log(`${key} ${value}`); // "a 5", "b 7", "c 9" });ÐÑеобÑазование
Object
в Map
ÐонÑÑÑÑкÑÐ¾Ñ new Map()
пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð²ÑоÑение знаÑений. С Object.entries
Ð²Ñ Ð»ÐµÐ³ÐºÐ¾ можеÑе пÑеобÑазоваÑÑ Object
в Map
:
var obj = { foo: "bar", baz: 42 };
var map = new Map(Object.entries(obj));
console.log(map); // Map { foo: "bar", baz: 42 }
ÐÑеÑаÑÐ¸Ñ Ð¿Ð¾ Object
ÐÑполÑзÑÑ Ð¼ÐµÑод РазбоÑа ÐаÑÑивов ÐÑ Ð¼Ð¾Ð¶ÐµÑе легко иÑеÑиÑоваÑÑ Ð¾Ð±ÑекÑÑ.
const obj = { foo: 'bar', baz: 42 }; Object.entries(obj).forEach(([key, value]) => console.log(`${key}: ${value}`)); // "foo: bar", "baz: 42"ÐолиÑил
ЧÑÐ¾Ð±Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Object.entries
в более ÑÑаÑÑÑ
окÑÑжениÑÑ
, коÑоÑÑе не поддеÑживаÑÑ ÐµÐ³Ð¾ наÑивно, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи полиÑил в tc39/proposal-object-values-entries или es-shims/Object.entries ÑепозиÑоÑиÑÑ
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4