Javascript 向数组中添加唯一元素
我有一个名为seasons of length 300的对象数组,我试图搜索某个属性“Date”,并将其添加到一个数组中(如果以前没有找到)。到目前为止我有Javascript 向数组中添加唯一元素,javascript,arrays,Javascript,Arrays,我有一个名为seasons of length 300的对象数组,我试图搜索某个属性“Date”,并将其添加到一个数组中(如果以前没有找到)。到目前为止我有 var day=[]; for (var i=1; i<300; i++) { var found=false; for (var j=0; j<day.length; j++) { if (day[j]==seasons[i]["Date"]) { found=true;
var day=[];
for (var i=1; i<300; i++) {
var found=false;
for (var j=0; j<day.length; j++) {
if (day[j]==seasons[i]["Date"]) {
found=true;
break;
}
if (!found) {
day[day.length]=seasons[i]["Date"];
}
}
}
var-day=[];
for(var i=1;iYoubreak
脱离内部for循环,因此if(!found)
块永远不会执行
只需将其放在内部循环之后:
for (var i = 1; i < 300; i++) {
var found = false;
for (var j = 0; j < day.length; j++) {
if (day[j] == seasons[i]["Date"]) {
found = true;
break;
}
}
if (!found) {
day[day.length] = seasons[i]["Date"];
}
}
for(变量i=1;i<300;i++){
var=false;
对于(var j=0;j
或者在if块中执行此操作:
for (var i = 1; i < 300; i++) {
for (var j = 0; j < day.length; j++) {
if (day[j] == seasons[i]["Date"]) {
day[day.length] = seasons[i]["Date"];
break;
}
}
}
for(变量i=1;i<300;i++){
对于(var j=0;j
我想后一种解决方案更容易理解。您将从内部for循环中断开,因此if(!found)
块永远不会执行
只需将其放在内部循环之后:
for (var i = 1; i < 300; i++) {
var found = false;
for (var j = 0; j < day.length; j++) {
if (day[j] == seasons[i]["Date"]) {
found = true;
break;
}
}
if (!found) {
day[day.length] = seasons[i]["Date"];
}
}
for(变量i=1;i<300;i++){
var=false;
对于(var j=0;j
或者在if块中执行此操作:
for (var i = 1; i < 300; i++) {
for (var j = 0; j < day.length; j++) {
if (day[j] == seasons[i]["Date"]) {
day[day.length] = seasons[i]["Date"];
break;
}
}
}
for(变量i=1;i<300;i++){
对于(var j=0;j
我想后一种解决方案更容易理解。@user10319您也可以用day[day.length]=seasures[I][“Date”];
替换为day.push(seasures[I][“Date”];
,这样写起来更简单,也更容易阅读:)@user10319您也可以用day[day.length]=seasures[I][“Date”]代码>与日期推送(季节[i][“日期])代码>,写起来有点小,读起来也更容易:)