Combina 2 funciones para escribir en una matriz de atributos en jQuery o Javascript

Esta es una extensión de la pregunta original:jQuery Extraer año de la fecha y agregar clase a padre

... pero necesito extenderlo para que las 2 funciones existentes se combinen y luego se extiendan para agregar un atributo en una matriz en lugar de una clase.

Fragmentos originales que agregaron valor como clases: -

Obtiene la fecha de div y agrega como clase

jQuery(".publication-date").each(function(i) {
var yr = $(this).text().trim().split('/')[2];
jQuery(this).closest('.publication').addClass(yr);
});

Obtiene el nombre de publicación de div y se agrega como clase

jQuery(".publication-name").each(function(i) {
var name = $(this).text().trim().replace(/[_\W]+/g, "-");

jQuery (this) .closest ('. publicación'). addClass (nombre); });

Mi esfuerzo para combinar y escribir en el atributo de 'filtro de datos' donde el filtro de datos tenía cualquier valor separado con una coma, es decir. filtro de datos "2017, nombre de publicación"

$(".publication-date, .publication-name").each(function(i) {
var yr = $('.publication-date').text().trim().split('/')[2];
var name = $('.publication-name').text().trim().replace(/[_\W]+/g, "-");
value = yr + ',' + name;
$(this).closest('.publication').attr({
"data-filter": value
});
});

Toda entrada es muy apreciada.

Gracias por adelantado

Glennyboy

Respuestas a la pregunta(1)

Su respuesta a la pregunta