1. ホーム
  2. javascript

[解決済み] JavaScriptのエラーです。Cannot read property 'includes' of undefined

2022-02-15 22:28:48

質問内容

を確認したい。 data.objectId の配列に既に存在します。 msgArr . そのために、以下のコードを実行しています。

var exists = msgArr.objectId.includes(data.objectId);

if(exists === false){
   msgArr.push({"objectId":data.objectId,"latLont":data.latLont,"isOnline":data.isOnline});
}

配列は次のようになります。

var msgArr = [
  {isOnline:true,latLont:"123",objectId:"on0V04v0Y9"},
  {isOnline:true,latLont:"1",objectId:"FpWBmpo0RY"},
  {isOnline:true,latLont:"48343",objectId:"Qt6CRXQuqE"} 
 ]

以下のようなエラーが発生します。

未定義のプロパティ 'includes' を読み取ることができません。

解決方法は?

コメントにあるように、javascriptの配列オブジェクトには、プロパティがありません。 objectId .
この配列のオブジェクトを見ると、それがあることは明らかなので、ある要素が存在するかどうかを確認するには、次のようにします。 Array.prototype.some というメソッドがあります。

var exists = msgArr.some(o => o.objectId === data.objectId);