javascript - 如何将键值对对象转换为 ES6 中的值数组?

标签 javascript arrays object ecmascript-6 keyvaluepair

我正在开发一个 React 应用程序,我需要像这样转换一个键值对象:

{
  0: 'John',
  1: 'Tim',
  2: 'Matt'
};

对于像这样的值的数组:
['John', 'Tim', 'Matt']

我该如何做到这一点?
const obj = {
  0: 'John',
  1: 'Tim',
  2: 'Matt'
};

const arr = /* ??? */;

最佳答案

您可以使用 Object.values .

The Object.values() method returns an array of a given object's own enumerable property values, in the same order as that provided by a for...in loop (the difference being that a for-in loop enumerates properties in the prototype chain as well).



var object = { 0: 'John', 1: 'Tim', 2: 'Matt' }, 
    array = Object.values(object);
    
console.log(array);


使用 ES6,您可以使用 Array.from 并对值使用回调。

var object = { 0: 'John', 1: 'Tim', 2: 'Matt' }, 
    array = Array.from(Object.keys(object), k => object[k]);
    
console.log(array);

关于javascript - 如何将键值对对象转换为 ES6 中的值数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45411208/

相关文章:

javascript - jQuery 文档加载未被调用

javascript - d3 js 知道一个 svg 形状是否有一个类

javascript - 如何使用 Node.js 和 Mongoose 将对象添加到嵌套数组

php - 如果你知道 array[x]->ID,找出 array[x] 的对象 id?

javascript - 如何搜索对象内的子节点并在找到时返回相关路径?

javascript - 为什么模型不更新 View ?

javascript - 如何给prettyphoto添加动画或效果

php - 如何将多维 PHP 数组转换为 XML?

javascript - 保护 "private"类成员免遭修改

java - 碰撞检测和 react java