javascript - JS : Convert a specific values from an object into an array?

标签 javascript

我有一个对象:

var obj = 
[
 {
   "value": "aep",
   "label": "AEP"
 },
 {
   "value": "cap",
   "label": "CAP"
 },
 {
   "value": "casl",
   "label": "CASL"
 } ] 

我只想将标签的值转换为数组,以便最终结果是:

["AEP", "CAP", "CASL"]

如何仅获取数组中转换的标签值?

最佳答案

首先:obj不是一个对象,它是一个数组,因为父括号是[]而不是{}。不过,我会保持名称不变。这可能会给您带来一些困惑,例如

var object = {};
var array = [];
var arrayOfObjects = [{},{},{}];
var objectOfArrays = {array1: [],array2: [],array3: []};

要循环数组,您可以使用 for 循环:

// new array
var newArray = [];
// iterates over each index in the array
for(var i=0; i<obj.length; i++) {
    // Access the specific index, then access its `label` property
    // Push into `newArray`
    newArray.push(obj[i].label);
}

console.log(newArray);

代码笔:http://codepen.io/theblindprophet/pen/RRxVba

关于javascript - JS : Convert a specific values from an object into an array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385022/

相关文章:

javascript - HTML5 重置视频并重新播放

javascript - 在 Canvas 内绘制图像

javascript - react : Pass function property down to pure child component - Rerendering

javascript - YUI 3 上传 - 选择文件按钮离线时不显示

javascript - 如何发现重复的 HTML 元素 ID?

javascript - Meteor:Accounts._storedLoginToken 不是函数

javascript - 谷歌 Gmail/电子邮件地址的数据调节

javascript - 将复选框更改为选中单击跨度不起作用

javascript - AngularJS 应用程序在传递新参数时不刷新页面

javascript - 原型(prototype)和 async.forEach 的范围问题