オブジェクトに次のような別のオブジェクトが含まれているかどうかを確認する方法
const LHS = {
a : "Something a",
b : "Something b",
c : { a : "Something a"}
}
let RHS = {
a : "Something a",
c : { a : "Something a"}
}
// How to write a function contains which replicates this behaviour
contains(LHS, RHS) // should return true
RHS = {
a : "Something a",
c : { a : "Something a"},
d : "Something d"
}
contians(LHS, RHS) // Should return false
私にはそれをどうやってやるのか全くわからない。これを行う外部ライブラリを知っている場合は、それを共有してください。
ありがとう
では、あるオブジェクト内のすべてのキーと値のペアが別のオブジェクトにも含まれているかどうかを確認したいですか?これはこのスレッドと非常によく似ており、チェックする最も簡単な方法は、この回答をと組み合わせて使用することisEqual
です。はい、ライブラリ/モジュールを取り込むのは面倒ですが、それにもかかわらず、この操作が可能な限り最適化されています。
const LHS = {
a: "Something a",
b: "Something b",
c: {
a: "Something a"
}
}
let RHS = {
a: "Something a",
c: {
a: "Something a"
}
}
both = _.merge(_.cloneDeep(LHS), RHS);
console.log(_.isEqual(both, LHS));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.20/lodash.min.js"></script>
このコードは、最初のオブジェクト(LHS
)を複製し、それを2番目のオブジェクト()とマージします。のRHS
すべてのキーと値のペアRHS
もにある場合、これらは同一である必要がありLHS
ます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加