В духе оригинального вопроса:
Я бы хотел сравнить два массива ... идеально, эффективно.
Я выполнял тесты производительности на некоторые из более простых предложений, предложенных здесь, со следующими результатами (быстрый до медленного):
, а (67%) - Tim Down
var i = a1.length; while (i--) { if (a1[i] !== a2[i]) return false; } return true
каждый (69 %) пользователем2782196
a1.every((v,i)=> v === a2[i]);
уменьшить (74%) с помощью DEI
a1.reduce((a, b) => a && a2.includes(b), true);
join & amp; toString (78%) Gaizka Allende & amp; vivek
a1.join('') === a2.join(''); a1.toString() === a2.toString();
half toString (90%) от Victor Palomo
a1 == a2.toString();
stringify (100%) на radtek
JSON.stringify(a1) === JSON.stringify(a2);
Обратите внимание, что приведенные ниже примеры предполагают, что массивы отсортированы, одномерные массивы. Сравнение
.length
было удалено для общего теста (добавьтеa1.length === a2.length
к любому из предложений, и вы получите повышение производительности на 10%). Выберите любые решения, которые лучше всего подходят для вас, зная скорость и ограничение каждого из них.Несвязанное примечание: интересно видеть, как люди получают все триггер-счастливые Джон Уэйнс при снижении голосов на вполне законные ответы на этот вопрос.
Используйте метод String.format () для добавления запятых. Ввод должен быть числовым, чтобы использовать это, поэтому используйте Integer.parseInt (), чтобы сначала преобразовать его в число.
Измените строки:
String lembar1 = String.format(jo.getString(konfigurasi.TAG_LEMBAR1);
String lembar1rp = String.format(jo.getString(konfigurasi.TAG_LEMBAR1rp);
на
String lembar1 = String.format("%,d",Integer.parseInt(jo.getString(konfigurasi.TAG_LEMBAR1)));
String lembar1rp = String.format("%,d",Integer.parseInt(jo.getString(konfigurasi.TAG_LEMBAR1rp)));