Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 如何知道数组是否包含具有特定';键';?_Javascript_Loops_Javascript Objects - Fatal编程技术网

Javascript 如何知道数组是否包含具有特定';键';?

Javascript 如何知道数组是否包含具有特定';键';?,javascript,loops,javascript-objects,Javascript,Loops,Javascript Objects,假设我有一个数据结构,其中我有一个数组,其中包含一组对象,对象是“月” monthlySum: [ { jun2018: { sales: 0, expenses: 0 } }, { aug2018: { sales: 0, expe

假设我有一个数据结构,其中我有一个数组,其中包含一组对象,对象是“月”

monthlySum: [
  {
              jun2018: {
                sales: 0,
                expenses: 0
              } 
            },
            {
              aug2018: {
                sales: 0,
                expenses: 0
              } 
            }
          ]
现在我想知道,比方说,这个数组中是否已经存在键为'sep2018'的对象。如果还没有,那么我将在最后一个对象之后添加一个带有“sep2018”键的新对象。如果是的话,我什么也不做

我该怎么做呢



您可以使用
.some
检查数组中的任何内容是否通过特定测试:

const monthlySum=[{
2018年6月:{
销售额:0,
费用:0
}
},
{
2018年8月:{
销售额:0,
费用:0
}
}
];
如果(!monthlySum.some((obj)=>obj中的“2018年8月”){
月推({
2018年8月:{
销售额:0,
费用:0
}
})
}
如果(!monthlySum.some((obj)=>obj中的“2018年9月”){
月推({
2018年9月:{
销售额:0,
费用:0
}
})
}

控制台日志(每月)
您可以使用
.some
检查数组中的任何内容是否通过特定测试:

const monthlySum=[{
2018年6月:{
销售额:0,
费用:0
}
},
{
2018年8月:{
销售额:0,
费用:0
}
}
];
如果(!monthlySum.some((obj)=>obj中的“2018年8月”){
月推({
2018年8月:{
销售额:0,
费用:0
}
})
}
如果(!monthlySum.some((obj)=>obj中的“2018年9月”){
月推({
2018年9月:{
销售额:0,
费用:0
}
})
}

控制台日志(每月)对于更新或检查,您可以使用,如果未找到,则返回项目或
未定义的

函数查找(数组、键){
返回array.find(object=>key-in-object);
}
var monthlySum=[{2018年6月:{销售:0,费用:0}},{2018年8月:{销售:0,费用:0}];
console.log(查找(monthlySum,'2018年8月');

console.log(查找(monthlySum,'dec2018')对于更新或检查,您可以使用,如果未找到,则返回项目或
未定义的

函数查找(数组、键){
返回array.find(object=>key-in-object);
}
var monthlySum=[{2018年6月:{销售:0,费用:0}},{2018年8月:{销售:0,费用:0}];
console.log(查找(monthlySum,'2018年8月');

console.log(查找(monthlySum,'dec2018')也许你会考虑使用一个不同的数据串,比如一个对象,而不是一个数组,因为你已经用正确的关键字分组了。@ Niasrrz是的,我也在考虑…也许你考虑使用一个不同的数据串,比如一个对象,而不是数组,因为您已经按适当的键分组了。@NinaScholz是的,我也在考虑。。