Estoy trabajando en una matriz que es así:
var arr = [ {floor: '1', id: '10165', label: 'Elutuba/Köök'}, {floor: '1', id: '10166', label: 'Tuba 1'}, {floor: '1', id: '10167', label: 'Vannituba'}, {floor: '2', id: '10167', label: 'Vannituba'} ]; Ahora quiero comparar los elementos del piso aquí. Si todo el valor mínimo es el mismo, entonces debería devolver true y si hay varios valores como '1' y '2' en esta matriz, debería devolver false .
Esto es lo que he intentado hasta ahora
var arr = [ {floor: '1', id: '10165', label: 'Elutuba/Köök'}, {floor: '1', id: '10166', label: 'Tuba 1'}, {floor: '1', id: '10167', label: 'Vannituba'}, {floor: '2', id: '10167', label: 'Vannituba'} ]; for (let i=0; i< arr.length; i++){ for (let j=1; j< arr.length; j++){ if( arr[i].floor !== arr[j].floor){ console.log('found'); }else{ console.log('Not found'); } } }Sé que esto no está cerca de la solución. Pero estoy atascado.
Una primera aproximación ingenua.
floor del primer elemento usando la asignación de Destructuring y cámbiele el nombre a firstFloorArray.prototype.every() para verificar si todos los elementos cumplen con ciertos criterios const allSameFloors = (array = []) => { const [{ floor: firstFloor }] = array; return array.every(({ floor }) => floor === firstFloor); }; console.log( allSameFloors( [{ floor: '1', id: '10165', label: 'Elutuba/Köök' }, { floor: '1', id: '10166', label: 'Tuba 1' }, { floor: '1', id: '10167', label: 'Vannituba' }, { floor: '2', id: '10167', label: 'Vannituba' } ] ) ); console.log( allSameFloors( [{ floor: '1', id: '10165', label: 'Elutuba/Köök' }, { floor: '1', id: '10166', label: 'Tuba 1' }, { floor: '1', id: '10167', label: 'Vannituba' }, { floor: '1', id: '10167', label: 'Vannituba' } ] ) );Lo más probable es que haya una mejor manera de hacerlo, pero aquí hay una solución rápida.
function FloorSameValue(arr){ values = []; for (obj of arr){ if (!values.includes(obj.floor)){ values.push(obj.floor); } } return values.length === 1; } var arr = [ {floor: '1', id: '10165', label: 'Elutuba/Köök'}, {floor: '1', id: '10166', label: 'Tuba 1'}, {floor: '1', id: '10167', label: 'Vannituba'}, {floor: '2', id: '10167', label: 'Vannituba'} ]; console.log(FloorSameValue(arr)) //falsefor( var i = 0 ; i < arr.length;i++) { var myval = arr[i].floor; for (var j = i+1 ; j < arr.length ; j++) { if (arr[i].floor !== arr[j].floor) { alert("false"); } } } enter code here