Object.values()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since маÑÑ 2017 г..
ÐеÑод Object.values() возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив знаÑений пеÑеÑиÑлÑемÑÑ
ÑвойÑÑв обÑекÑа в Ñом же поÑÑдке ÑÑо и Ñикл for...in. РазниÑа Ð¼ÐµÐ¶Ð´Ñ Ñиклом и меÑодом в Ñом, ÑÑо Ñикл пеÑеÑиÑлÑÐµÑ ÑвойÑÑва и из ÑепоÑки пÑоÑоÑипов.
ÐнÑеÑакÑивнÑй пÑимеÑ
const object1 = {
a: "somestring",
b: 42,
c: false,
};
console.log(Object.values(object1));
// Expected output: Array ["somestring", 42, false]
СинÑакÑиÑ
Object.values(obj)
ÐаÑамеÑÑÑ
obj-
ÐбÑекÑ, ÑÑи знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑиÑлÑемÑÑ ÑвойÑÑв бÑдÑÑ Ð²Ð¾Ð·Ð²ÑаÑенÑ.
ÐозвÑаÑаемое знаÑение
ÐаÑÑив ÑодеÑжаÑий знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑиÑлÑемÑÑ ÑвойÑÑв обÑекÑа.
ÐпиÑание
Object.values() возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив, ÑÑи ÑлеменÑÑ ÑÑо знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑиÑлÑемÑÑ
ÑвойÑÑв найденнÑÑ
в обÑекÑе. ÐоÑÑдок Ñакой же как еÑли пÑойÑиÑÑ Ð¿Ð¾ обÑекÑÑ Ñиклом вÑÑÑнÑÑ.
ÐÑимеÑÑ
var obj = { foo: "bar", baz: 42 };
console.log(Object.values(obj)); // ['bar', 42]
// ÐаÑÑив как обÑекÑ
var obj = { 0: "a", 1: "b", 2: "c" };
console.log(Object.values(obj)); // ['a', 'b', 'c']
// ÐаÑÑив как обÑÐµÐºÑ Ñо ÑлÑÑайнÑм поÑÑдком клÑÑей
// Ðогда Ð¼Ñ Ð¸ÑполÑзÑем нÑмеÑованнÑе клÑÑ, знаÑÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð²ÑаÑаÑÑÑÑ Ð² поÑÑдке возÑаÑÑаниÑ
var an_obj = { 100: "a", 2: "b", 7: "c" };
console.log(Object.values(an_obj)); // ['b', 'c', 'a']
// getFoo непеÑеÑиÑлÑемое ÑвойÑÑво
var my_obj = Object.create(
{},
{
getFoo: {
value: function () {
return this.foo;
},
},
},
);
my_obj.foo = "bar";
console.log(Object.values(my_obj)); // ['bar']
// ÐÑгÑменÑ, не ÑвлÑÑÑийÑÑ Ð¾Ð±ÑекÑом, бÑÐ´ÐµÑ Ð¿ÑиведÑн к обÑекÑÑ
console.log(Object.values("foo")); // ['f', 'o', 'o']
ÐолиÑил
ÐÐ»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑовмеÑÑимоÑÑи Object.values Ñо ÑÑаÑÑм окÑÑжением, коÑоÑое не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð½Ð°Ñивно его, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи полиÑил здеÑÑ tc39/proposal-object-values-entries или в es-shims/Object.values ÑепозиÑоÑии.
СпеÑиÑикаÑии
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-object.values> |