Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果名称不存在,则需要将对象添加到数组(js)_Javascript_Arrays - Fatal编程技术网

Javascript 如果名称不存在,则需要将对象添加到数组(js)

Javascript 如果名称不存在,则需要将对象添加到数组(js),javascript,arrays,Javascript,Arrays,如果名称不存在,尝试将对象添加到数组。但是有疑问。 例如数组:[{day:mo},{day:tu},{day:st}]。 for (name in result) { if(name !== 'mo') { result.push({day:'mo'}); } if(name !== 'tu') { result.push({day:'tu'});

如果名称不存在,尝试将对象添加到数组。但是有疑问。 例如数组:
[{day:mo},{day:tu},{day:st}]。

for (name in result) {
            if(name !== 'mo') {
              result.push({day:'mo'});
            }
            if(name !== 'tu') {
              result.push({day:'tu'});
            }
            if(name !== 'we') {
              result.push({day:'we'});
            }
            if(name !== 'th') {
              result.push({day:'th'});
            }
            if(name !== 'fr') {
              result.push({day:'fr'});
            }
            if(name !== 'sa') {
              result.push({day:'sa'});
            }
            if(name !== 'su') {
              result.push({day:'su'});
            }
              break;
          }
如果它不在数组中,则需要添加
{day:we}
。 所以首先需要检查
{day:we}
是否不在数组中,然后添加它

结果:
[{day:mo},{day:tu},{day:we},{day:st}].

for (name in result) {
            if(name !== 'mo') {
              result.push({day:'mo'});
            }
            if(name !== 'tu') {
              result.push({day:'tu'});
            }
            if(name !== 'we') {
              result.push({day:'we'});
            }
            if(name !== 'th') {
              result.push({day:'th'});
            }
            if(name !== 'fr') {
              result.push({day:'fr'});
            }
            if(name !== 'sa') {
              result.push({day:'sa'});
            }
            if(name !== 'su') {
              result.push({day:'su'});
            }
              break;
          }

您可以筛选天数数组,并检查结果中是否已经存在这些天数:

["mo","tu","we","th","fr","sa","su"]
  .filter( day => ! result.some(obj => obj.day === day))
  .forEach( day => {
    result.push({day});
  });
更高性能的版本:

var days = new Set( ["mo","tu","we","th","fr","sa","su"]);

result.forEach( day => days.delete(day.day));

days.forEach(day => result.push({day}));

您可以筛选天数数组,并检查结果中是否已经存在这些天数:

["mo","tu","we","th","fr","sa","su"]
  .filter( day => ! result.some(obj => obj.day === day))
  .forEach( day => {
    result.push({day});
  });
更高性能的版本:

var days = new Set( ["mo","tu","we","th","fr","sa","su"]);

result.forEach( day => days.delete(day.day));

days.forEach(day => result.push({day}));
let days=[{day:mo},{day:tu},{day:st}]
让toAdd=[“mo”,“tu”,“wed”,“thu”,“fri”]
toAdd.forEach(第1天=>{
如果(!days.find(day2=>day2==day1))days.push({day:day1})
})
console.log(天)
let days=[{day:mo},{day:tu},{day:st}]
让toAdd=[“mo”,“tu”,“wed”,“thu”,“fri”]
toAdd.forEach(第1天=>{
如果(!days.find(day2=>day2==day1))days.push({day:day1})
})

console.log(天)
此解决方案是将对象转换为字符串数组,然后检查字符串是否在此数组中:

var a=[{day:mo},{day:tu},{day:st}];
如果(a.map(obj=>obj.day)/=>
.indexOf('we')==-1)//如果数组中的字符串为'we'
a、 推送({day:'we'});

控制台日志(a)此解决方案是将对象转换为字符串数组,然后检查字符串是否在此数组中:

var a=[{day:mo},{day:tu},{day:st}];
如果(a.map(obj=>obj.day)/=>
.indexOf('we')==-1)//如果数组中的字符串为'we'
a、 推送({day:'we'});

控制台日志(a)您可以检查天的顺序是否正确,并在更大的天数之前插入

函数添加(数组、插入){
var-days={mo:0,tu:1,we:2,th:3,fr:4,sa:5,su:6};
array.some(函数(a,i,aa){
如果(天[a.day]==天[insert.day]){
返回true;
}
如果(天[插入日期]<天[每天]){
aa.拼接(i,0,插入件);
返回true;
}
})| |数组。推送(插入);
}
var数组=[{day:“tu”},{day:“sa”}];
添加(数组,{day:tu});//无插入
console.log(数组);
添加(数组,{day:mo});//在开头插入
console.log(数组);
添加(数组,{day:“we”});//插入中间
console.log(数组);
添加(数组,{day:su});//在末尾插入
console.log(数组)

.as console wrapper{max height:100%!important;top:0;}
您可以检查是否给出了正确的天数顺序,并在更大的天数之前插入

函数添加(数组、插入){
var-days={mo:0,tu:1,we:2,th:3,fr:4,sa:5,su:6};
array.some(函数(a,i,aa){
如果(天[a.day]==天[insert.day]){
返回true;
}
如果(天[插入日期]<天[每天]){
aa.拼接(i,0,插入件);
返回true;
}
})| |数组。推送(插入);
}
var数组=[{day:“tu”},{day:“sa”}];
添加(数组,{day:tu});//无插入
console.log(数组);
添加(数组,{day:mo});//在开头插入
console.log(数组);
添加(数组,{day:“we”});//插入中间
console.log(数组);
添加(数组,{day:su});//在末尾插入
console.log(数组)

.as console wrapper{max height:100%!important;top:0;}
请添加misisng变量及其内容,以及所需的结果。@NinaScholz如果arrayupdated中不存在对象,我希望在结果中将其添加到数组中,请检查请添加missing变量及其内容——以及所需的结果。@NinaScholz我希望在结果中将对象添加到数组中如果arrayupdated中不存在该对象,请检查