¿Cómo ignoro algunas файлы вид cuando uso la función?

Tengo un arreglo de objetos y quiero ordenarlo según una propiedad, вид pero quisiera que la función игнорирует algunas файлы.

Supongamos que tengo el siguiente arreglo y quisiera ignorar el índice 1:

var datos = [
                {"asd1":"prueba11", "asd2":"prueba12", "asd3":"prueba13", "asd4":"prueba14", "asd5":"prueba15"}, 
                {"asd1":"prueba21", "asd2":"prueba22", "asd3":"prueba23", "asd4":"prueba24", "asd5":"prueba25"}, 
                {"asd1":"prueba11", "asd2":"prueba42", "asd3":"prueba43", "asd4":"prueba44", "asd5":"prueba45"}, 
                {"asd1":"prueba31", "asd2":"prueba32", "asd3":"prueba33", "asd4":"prueba34", "asd5":"prueba35"}, 
                {"asd1":"prueba41", "asd2":"prueba42", "asd3":"prueba43", "asd4":"prueba44", "asd5":"prueba45"}, 
                {"asd1":"prueba51", "asd2":"prueba52", "asd3":"prueba53", "asd4":"prueba54", "asd5":"prueba55"}
            ];

Y танго la siguiente función para ordenar:

var x = "asd2";
datos.sort(function(a,b) {return (isNaN(a) && isNaN(b))?((a[x] > b[x]) ? 1 : ((b[x] > a[x]) ? -1 : 0)):(a - b);} );

¿Cómo puedo hacer para que ignore (люгер y mantenga en el mismo) al índice 1?

3
задан 20.12.2019, 17:17
1 ответ

Я оставляю тебе пример не, если это функциональность, которую ты ищешь, что я сделал, состояло в том, чтобы перемещать array нового Данных array и в этот ты реализуешь sort , исследуйте и я не нашел, как игнорирование прямо с каким-то свойством или функцией для Sort, абзац изменил твою функцию sort , сравнение на IF ты можешь менять 1 на переменную, или что ты захотел

var datos = [
                {"asd1":"prueba11",  "asd3":"prueba13",   "asd2":"prueba12","asd4":"prueba14", "asd5":"prueba15"}, 
                {"asd1":"prueba21", "asd2":"prueba22","asd5":"prueba25" ,"asd3":"prueba23", "asd4":"prueba24"}, 
                {"asd1":"prueba11", "asd2":"prueba42", "asd3":"prueba43", "asd4":"prueba44", "asd5":"prueba45"}, 
                {"asd1":"prueba31", "asd2":"prueba32", "asd3":"prueba33", "asd4":"prueba34", "asd5":"prueba35"}, 
                {"asd1":"prueba41", "asd2":"prueba42", "asd3":"prueba43", "asd4":"prueba44", "asd5":"prueba45"}, 
                {"asd1":"prueba51", "asd2":"prueba52", "asd3":"prueba53", "asd4":"prueba54", "asd5":"prueba55"}
            ];
const datos2 = [];
console.log(datos);
console.log("---------------------------------");

datos.forEach(function(x, i){
console.log(i)
  if(i != 1){
    datos2.push(x);
  }
});

datos2.sort(function (a, b) {
    //console.log("variables: " + a.asd1 +" - "+ b.asd1)
      if (a.name > b.name) {
        return 1;
      }
      if (a.name < b.name) {
        return -1;
      }
      return 0;
    });
    
console.log("----------------Array sin el indice 1-----------------");

console.log(datos2);
2
ответ дан 21.12.2019, 12:12
  • 1
    интересный, ты создаешь отдельную переменную, без í ndice блокированный, ты упорядочиваешь новую переменную, и потом с funció n splice podrí чтобы вводить линии, проигнорированные в распоряжении, ¿ нет? – Andres 20.12.2019, 17:18
  • 2
    чтобы сравнивать string я рекомендую str1.localeCompare(str2); так проверь прописную букву, строчную букву и числа хорошо, он сменил бы весь if sort на return !!a.name ? -1 : a.name.localeCompare(b.name) – JackNavaRow 20.12.2019, 17:21