如何翻转下面的数组
['12345', '83747']
进入下面的对象数组
[ {'id': '12345'}, {'id': '83747'} ]
使用地图?
到目前为止我的尝试,iDs
是一个空数组,chunk 是一个字符串数组。:
obj.iDs.concat(
chunk.map((item) => ({
id: item,
})),
);
例如,我的 IDE 报告此代码没有问题:
const body = [{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'},{'id':'1234'}]
const batchGetRequestObj = {
ids: [],
targetProperties: ['contentID, updateDateTime'],
};
function func() {
try {
chunkArray(
body.map((item) => {
return item.id;
}),
25,
).forEach((chunk) => {
batchGetRequestObj.ids.concat(
chunk.map((item) => ({
ids: item,
})),
);
console.log(batchGetRequestObj);
});
} catch (e) {
console.log(e);
}
}
function chunkArray(array: string[], size: number) {
const slicedArray = [];
for (let i = 0; i < array.length; i += size) {
slicedArray.push(array.slice(i, i + size));
}
return slicedArray;
}
答案 0 :(得分:1)
您正在使用 concat,它不会改变数组 - 您必须将值设置回变量
var arr = ['12345', '83747']
var newids = obj.ids.concat(arr.map( str => { return {"id" : str}});
obj.ids = newids