![](/img/trans.png)
[英]How to check if a value exists in a JavaScript array, continue to add 0.15 until it does not exist, then add that value to the end of the array?
[英]Continue add items from array until end loop
我有一个这样的对象:
var Object = {
"id": "Siplus",
"name":"Siplus",
"icon":"forum"
},
{
"id": "Recent",
"name":"Recent Activities",
"icon": "restore"
},
{
"id": "jobList",
"name":"Job List",
"icon": "briefcase"
},
{
"id": "Favourites",
"name":"Favourites",
"icon": "star"
},
{
"id": "searchQuote",
"name":"Search Quotes",
"icon": "binoculars"
},
{
"id": "orderStatus",
"name":"Order Status",
"icon": "clock"
};
我有另一个这样的数组
var array = [1,2,3];
我使用以下代码将数组值添加到对象:
for (var i = 0; i < object.length; i++) {
object[i].number = array[i];
}
我得到这样的结果:
var Object = {
"id": "Siplus",
"name":"Siplus",
"icon":"forum",
"number":1
},
{
"id": "Recent",
"name":"Recent Activities",
"icon": "restore",
"number":2
},
{
"id": "jobList",
"name":"Job List",
"icon": "briefcase",
"number":3
},
{
"id": "Favourites",
"name":"Favourites",
"icon": "star",
"number":undefined
},
{
"id": "searchQuote",
"name":"Search Quotes",
"icon": "binoculars",
"number":undefined
},
{
"id": "orderStatus",
"name":"Order Status",
"icon": "clock",
"number":undefined
};
我想要这样:
var Object = {
"id": "Siplus",
"name":"Siplus",
"icon":"forum",
"number":1
},
{
"id": "Recent",
"name":"Recent Activities",
"icon": "restore",
"number":2
},
{
"id": "jobList",
"name":"Job List",
"icon": "briefcase",
"number":3
},
{
"id": "Favourites",
"name":"Favourites",
"icon": "star",
"number":1
},
{
"id": "searchQuote",
"name":"Search Quotes",
"icon": "binoculars",
"number":2
},
{
"id": "orderStatus",
"name":"Order Status",
"icon": "clock",
"number":3
};
他们有什么办法得到重复的数字,而不是得到“未定义”
请帮我
借助模运算,您可以通过从数组添加正确的值来映射输入对象
var data = [{ "id": "Siplus", "name":"Siplus", "icon":"forum" }, { "id": "Recent", "name":"Recent Activities", "icon": "restore" }, { "id": "jobList", "name":"Job List", "icon": "briefcase" }, { "id": "Favourites", "name":"Favourites", "icon": "star" }, { "id": "searchQuote", "name":"Search Quotes", "icon": "binoculars" }, { "id": "orderStatus", "name":"Order Status", "icon": "clock" }]; var array = [1,2,3]; res = data.map((x,i) => { x.number = array[i % array.length] return x; }) console.log(res);
array
的大小是3,而对象的大小更大-一种解决方案是使用:
object[i].number = array[i % array.length];
请参见下面的演示:
var object=[{"id":"Siplus","name":"Siplus","icon":"forum"},{"id":"Recent","name":"Recent Activities","icon":"restore"},{"id":"jobList","name":"Job List","icon":"briefcase"},{"id":"Favourites","name":"Favourites","icon":"star"},{"id":"searchQuote","name":"Search Quotes","icon":"binoculars"},{"id":"orderStatus","name":"Order Status","icon":"clock"}] var array = [1, 2, 3]; for (var i = 0; i < object.length; i++) { object[i].number = array[i % array.length]; } console.log(object);
.as-console-wrapper{top:0;max-height:100%!important;}
您可以使用其他var。
for (var i = 0, j = 0; i < object.length; i++) {
j++
if(j > array.length){j=0}
object[i].number = array[j];
}
var arrLength = array.length;
for (var i = 0, j = 0; i < object.length; i++, j++) {
if (i >= arrLength ) {
j = 0;
}
object[i].number = array[j];
}
您可以使用一个临时值指向数字数组,如下所示:
var temp = 0;
for (var i = 0; i < object.length; i++) {
object[i].number = array[temp];
if(temp == array.length)
temp = 0;
else
temp++;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.