私は、できるだけ効率的に、任意の数のオブジェクトの間の交点を見つけようとしています。これらのオブジェクトはすべて他のサブオブジェクトを含み、各サブオブジェクトは親の一意のキーの下に格納されます。私の目的のために、オブジェクト1のサブオブジェクトaとオブジェクト2のサブオブジェクトaを比較すると内容が同じであるため、他のオブジェクトを上書きするかどうかは気にしないと仮定することは安全です。今のところ、これは私が働いているソリューションですが、私はそれが十分に効率的ではないかと思います。任意の数のオブジェクトの交差
function intersectObjects(...objects){
/*NOTE: This function will overwrite values on duplicate keys*/
var returnObj; //temp variable to store the return value
objects.forEach((obj, i) => {
//on the first loop store my object
if (i == 0) returnObj = obj;
else {
//Get an array of all properties currently being returned
const returnProps = Object.getOwnPropertyNames(returnObj);
//Loop over the properties array
returnProps.forEach((propKey, j) => {
//If the current property does not exist on the return object
//Then delete the property on the return object
if(!obj[returnProps[j]]) delete returnObj[returnProps[j]];
});
}
});
return returnObj;
}
は、このためのより効率的な解決策はありますか?この機能を処理し、効率的に機能するライブラリはありますか?私が気づいていない機能はありますか?これらの質問のいずれかへの回答は高く評価されます。
これはちょっと読めなくても、私が探しているものです。どうもありがとうございます! –