JavaScript 实现Object.values()的方法
有一个方法 Object.values() 它返回JavaScript对象的值。在这里,我们将看到用JavaScript帮助的其他替代方法。这里讨论了几种方法。
- 使用 Object.keys() 方法 和 map() 方法
- 使用 obj.hasOwnProperty() 和 push() 方法
- 使用 Object.keys() 方法 和 map() 方法
方法1
使用 Object.keys() 方法 获取键,然后使用 map() 方法 将键映射到值,并将值存储在数组中。
示例: 此示例实现了上述方法。
<body style="text-align:center;">
<h1 style="color: green">
GeeksForGeeks
</h1>
<h3>
Alternative version for Object.values() in JavaScript.
</h3>
<p id="GFG_UP">
</p>
<button onclick="gfg_Run()">
Click Here
</button>
<p id="GFG_DOWN">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
var el_down = document.getElementById("GFG_DOWN");
var arr = [];
var obj = {
a: 'val_1',
b: 'val_2'
};
el_up.innerHTML =
"Click on the button to get the values.<br>Object = "
+ JSON.stringify(obj);
function gfg_Run() {
var val = Object.keys(obj).map(function(e) {
return obj[e];
});
el_down.innerHTML = JSON.stringify(val);
}
</script>
</body>
输出:
方法2
运行循环以访问对象的每个属性,并在每次循环中将值推送到数组中。 obj.hasOwnProperty() 和 push()方法 被使用。
示例: 这个示例实现了上述方法。
<body style="text-align:center;">
<h1 style="color: green">
GeeksForGeeks
</h1>
<h3>
Alternative version for Object.values() in JavaScript.
</h3>
<p id="GFG_UP">
</p>
<button onclick="gfg_Run()">
Click Here
</button>
<p id="GFG_DOWN">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
var el_down = document.getElementById("GFG_DOWN");
var arr = [];
var obj = {
a: 'val_1',
b: 'val_2'
};
el_up.innerHTML =
"Click on the button to get the values.<br>Object = "
+ JSON.stringify(obj);
function getValues(obj) {
var ret = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
ret.push(obj[i]);
}
}
return ret;
}
function gfg_Run() {
el_down.innerHTML = JSON.stringify(getValues(obj));
}
</script>
</body>
输出:
方法3
(以ES6格式) 使用 Object.keys()方法 获取键值,然后使用 map()方法 将键映射为值,并将值存储在数组中。
示例: 此示例实现了上述方法。
<body style="text-align:center;">
<h1 style="color: green">
GeeksForGeeks
</h1>
<h3>
Alternative version for Object.values() in JavaScript.
</h3>
<p id="GFG_UP">
</p>
<button onclick="gfg_Run()">
Click Here
</button>
<p id="GFG_DOWN">
</p>
<script>
var el_up = document.getElementById("GFG_UP");
var el_down = document.getElementById("GFG_DOWN");
var arr = [];
var obj = {
a: 'val_1',
b: 'val_2'
};
el_up.innerHTML =
"Click on the button to get the values.<br>Object = "
+ JSON.stringify(obj);
function gfg_Run() {
el_down.innerHTML = Object.keys(obj).map(e => obj[e]);
}
</script>
</body>
输出: