Javascript 循环通过api数据数组从对象获取值
我有这样的数据:Javascript 循环通过api数据数组从对象获取值,javascript,Javascript,我有这样的数据: var data = [{one:1}, {two:2}, {three:3}] 我想循环遍历这些数据,并得到键的值。我要找的结果是123 我试过: var result = []; for(i=0; i < data.length; i++){ result.push(data[i]); } var结果=[]; 对于(i=0;iobject[object.keys(object)[0]]); 控制台日志(结果); console.log(result.joi
var data = [{one:1}, {two:2}, {three:3}]
我想循环遍历这些数据,并得到键的值。我要找的结果是123
我试过:
var result = [];
for(i=0; i < data.length; i++){
result.push(data[i]);
}
var结果=[];
对于(i=0;i
然而,它所做的只是将对象推入变量数组“result”
所以问题是,我如何获得数据的值,即1、2和3?从如下对象获得值:
var result = [];
data.foreach((item) => {
item.keys().foreach( (key) => {
result.push(item[key]);
});
});
当数据已经在数组中时,您只需执行以下操作
var dataString = result.join('');
此函数获取数组中的所有值,并将其连接成一个字符串,以给定字符串作为分隔符。传入空白字符串使其不使用分隔符
或者,您可以执行以下操作:
var result = "";
data.foreach((item) => {
item.keys().foreach( (key) => {
result += item[key];
});
});
因为这将直接连接字符串。这样就可以了
var data = [{one:1}, {two:2}, {three:3}]
var result = [];
// read all items of data.
data.forEach(function(item) {
// read all keys of item.
Object.keys(item).forEach(function(key) {
result.push(item[key]);
});
});
还是ES6
const data = [{one:1}, {two:2}, {three:3}]
let result = [];
data.forEach(item => {
result = [...result, ...Object.values(item)];
});
如果您的数据结构没有改变,这意味着,您在每个对象条目中正好有一个键值对,使用迭代这些条目,然后使用当前的
对象
调用,并使用[0]
获取实际的密钥(例如一个
,两个
,三个
)然后使用键返回对象的值
,然后您可以按照需要的方式操作结果
:
ES6示例:
const data=[{1:1},{2:2},{3:3}];
const result=data.map(object=>object[object.keys(object)[0]]);
控制台日志(结果);
console.log(result.join(',');
console.log(result.join(“”))
使用reduce
、Object.values
和spread
怎么样
const data = [{one:1}, {two:2}, {three:3}]
const flatMapValues = arr => {
return arr.reduce((collection, item)=> collection = [...collection, ...Object.values(item)], [])
}
这样可以更好地扩展,因为它可以将所有值转换为一个数组
const data = [{one:1, four: 4}, {two:2, five:5}, {three:3, six: 6}]
const flatMapValues = arr => {
return arr
.reduce((collection, item)=> collection = [...collection, ...Object.values(item)], [])
.sort((a, b) => a > b)
}
在某些浏览器(和NodeJS7)中,您可以这样使用
var data=[{1:1},{2:2},{3:3}];
var values=data.map(o=>Object.values(o)[0]);
console.log(值)代码>