我正在从后端获取 [{id:'test', time: '1223'}, {id: 'test2', time: '2323'}]
,我需要检索所有的时间值,执行一个函数并作为 [{id:'test', time: 'new value for test'}, {id: 'test2', time: 'new value for test2'}]
所以我决定尝试提取时间值并使用 for 循环
插入数组,但是我的 for 循环
缺少一些东西
var objext = [{id:'test', time: 'blah'}, {id: 'test2', time: 'blah'}];
var dataArray = new Array;
for (var id in objext) {
dataArray.push(objext[id]);
};
它显然返回相同,因为我不知道如何选择 time
键。
然后我将为每个运行良好的函数运行我的函数:
var time = [23,34,56];
var map = time.map(function(num) {
if (num === 23) {
return num +2;
} else {
return num;
};
});
然后最后一部分将放回去,我想我可以得到一个 id
数组和一个 time
数组,然后将它们放回一起,但是到目前为止,我的代码一次只能映射一个数组:
var data = ["Drake","Ola","d"],
result = data.map(function (a) { return { id: a }; });
我试过这样使用数组:
var data = ["Drake","Ola","d"];
var hht = [21,34,56];
result = [data,hht].map(function (a,b) { return { id: a, time:b }; });
它没有正确映射它。 有什么想法吗?
最佳答案
您可以使用 .map()
回调执行所有任务
var objtext = [{id:'test', time: '1223'}, {id: 'test2', time: '2323'}];
objtext = objtext.map(function(obj) {
var time = obj.time;
// do stuff with `obj.time`
if (time == 1223) {
time += 2;
obj.time = time;
}
if (time == 2323) {
time -= 2;
obj.time = time;
}
return obj
});
创建一个只包含时间
属性的数组
var times = objtext.map(function({time}) {return time});
关于javascript - 从对象中获取键/值,执行功能并发回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351090/