добавление ActionListener в JMenuItem не работает

Настолько быстрый вопрос. Что делать, если у вас есть два массива объектов, и вы хотите «выровнять» эти массивы объектов, чтобы вы могли убедиться, что объекты каждого массива находятся в порядке, как и у другого массива? Что делать, если вы не знаете, какие ключи и значения содержат какие-либо объекты внутри массивов ... Значительно меньше того, в каком порядке они существуют?

Поэтому вам нужно выражение «WildCard Expression» для вашего [].filter, [].map и т. д. Как вы получаете выражение дикой карты?

var jux = (function(){
    'use strict';

    function wildExp(obj){
        var keysCrude = Object.keys(obj),
            keysA = ('a["' + keysCrude.join('"], a["') + '"]').split(', '),
            keysB = ('b["' + keysCrude.join('"], b["') + '"]').split(', '),
            keys = [].concat(keysA, keysB)
                .sort(function(a, b){  return a.substring(1, a.length) > b.substring(1, b.length); });
        var exp = keys.join('').split(']b').join('] > b').split(']a').join('] || a');
        return exp;
    }

    return {
        sort: wildExp
    };

})();

var sortKeys = {
    k: 'v',
    key: 'val',
    n: 'p',
    name: 'param'
};
var objArray = [
    {
        k: 'z',
        key: 'g',
        n: 'a',
        name: 'b'
    },
    {
        k: 'y',
        key: 'h',
        n: 'b',
        name: 't'
    },
    {
        k: 'x',
        key: 'o',
        n: 'a',
        name: 'c'
    }
];
var exp = jux.sort(sortKeys);

console.log('@juxSort Expression:', exp);
console.log('@juxSort:', objArray.sort(function(a, b){
    return eval(exp);
}));

Вы также можете использовать эту функцию по итерации для каждого объекта, чтобы создать лучшее коллективное выражение для всех ключи в каждом из ваших объектов, а затем фильтровать ваш массив таким образом.

Это небольшой фрагмент из API Juxtapose, который у меня почти завершен, что делает это, равенство объектов с исключениями, объектами, и конденсация матрицы. Если это то, что вам нужно или хотите для вашего проекта, прокомментируйте, и я сделаю доступный lib доступным раньше, чем позже.

Надеюсь, это поможет! Счастливое кодирование:)

0
задан Andrew Thompson 31 March 2019 в 01:25
поделиться

1 ответ

Вы повторно объявляете пункты меню в методе, в котором вы их создали, делая их локальными для этого метода и скрывая переменную экземпляра с тем же именем. Таким образом, в слушателе действия вы сравниваете источник со значением null.

0
ответ дан FredK 31 March 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: