Javascript 从对象获取键/值,执行函数并发送回
我正在从后端获取Javascript 从对象获取键/值,执行函数并发送回,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在从后端获取[{id:'test',time:'1223'},{id:'test2',time:'2323'}],我需要检索所有的时间值,执行一个函数并将其作为[{id:'test',time:'new value for test'},{id:'test2',time:'new value for test2'}发送回对象。 因此,我决定尝试提取时间值,并使用for loop将其推入数组,但我的for loop缺少一些内容 var objext = [{id:'test', time: '
[{id:'test',time:'1223'},{id:'test2',time:'2323'}]
,我需要检索所有的时间值,执行一个函数并将其作为[{id:'test',time:'new value for test'},{id:'test2',time:'new value for test2'}发送回对象。
因此,我决定尝试提取时间值,并使用for loop
将其推入数组,但我的for loop
缺少一些内容
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});
您可以使用一个数组,对其进行迭代,并将其他部分的数据用于新对象
var数据=[“德雷克”、“奥拉”、“d”],
hht=[21,34,56],
结果=data.map(函数(a,i){
返回{id:a,time:hht[i]};
});
控制台日志(结果)
您可以映射对象数组,并使用对象返回不同的时间。分配
:
var objs=[
{id:'Drake',time:'blah'},
{id:'Ola',time:'blah'},
{id'd',time'eh'}];
var hht=[21,34,56];
objs=objs.map((obj,i)=>Object.assign({},obj,{time:hht[i]}));
console.log(objs)代码>使用for
循环尝试此操作
var res=[{
id:'测试',
时间:'1223'
}, {
id:'test2',
时间:'2323'
}, {
id:'test3',
时间:'2453'
}],
hht=[21,34,56];
对于(变量i=0;i 控制台日志(res)
因此您希望基于另一个数组更新时间
键。不,我正在基于我创建的函数更新时间
键,我将获取值并执行函数,然后重新插入