33 lines
823 B
Markdown
33 lines
823 B
Markdown
|
Array ve objeleri kıyaslayıp derin karşılaştırma yapar.
|
|||
|
|
|||
|
|
|||
|
```javascript
|
|||
|
export function isEqualObj(a,b){
|
|||
|
// Create arrays of property names
|
|||
|
var aProps = Object.getOwnPropertyNames(a);
|
|||
|
var bProps = Object.getOwnPropertyNames(b);
|
|||
|
|
|||
|
// If number of properties is different,
|
|||
|
// objects are not equivalent
|
|||
|
if (aProps.length != bProps.length) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
for (var i = 0; i < aProps.length; i++) {
|
|||
|
var propName = aProps[i];
|
|||
|
|
|||
|
// If values of same property are not equal,
|
|||
|
// objects are not equivalent
|
|||
|
if (a[propName] !== b[propName]) {
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
// If we made it this far, objects
|
|||
|
// are considered equivalent
|
|||
|
return true;
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
* React kullanırken state değişiminin gerekli olup olmadığına bakılabilir..
|
|||
|
|
|||
|
#js-code
|