我有这个数组:
var ids = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10"];
(数组中的对象数量不断变化)
如何获得此结果(一个新数组),如何将其分开?例如3 (我可能需要为此做一个循环)
var urls= ["example.com/?id0=1&id1=2&id2=3", "example.com/?id3=4&id4=5&id5=6", "example.com/?id6=7&id7=8&id8=9", "example.com/?id9=10"]
谢谢。
答案 0 :(得分:2)
使用.map
将id
添加到ID中,并使用&
将结果数组加入
var ids = ["10000000", "2000000", "1234567", "7654321", "7777777"];
var url = "example.com/?" + ids.map((id, ndx) => `id${ndx}=${id}`).join("&");
console.log(url);
编辑
根据已编辑的问题,您可以创建函数以将ID数组拆分为多个块,并使用与以前相同的代码,映射这些块以添加id
并将它们与&
var ids = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "xxx"];
const generateUrls = (ids, n = 3) => {
var i,
j,
temparray,
urls = [],
ndx = 0;
for (i = 0, j = ids.length; i < j; i += n) {
temparray =
"example.com/?" +
ids
.slice(i, i + n)
.map(id => `id${ndx++}=${id}`)
.join("&");
urls.push(temparray);
}
return urls;
};
const result = generateUrls(ids, 3);
console.log(result);