У меня есть следующая строка:
var attrs = "FNAME=abraham,LNAME=lincoln,COUNTRY=USA,JOB=PRESIDENT"
и хотите преобразовать его в объект ключевого значения, как показано ниже, с помощью jQuery.
attrs = {
FName:abraham,
LName:lincoln,
COUNTRY:USA,
JOB:PRESIDENT
}

вы можете использовать разделение и создать объект, см. ниже
var attrs = "FNAME=abraham,LNAME=lincoln,COUNTRY=USA,JOB=PRESIDENT";
var values = attrs.split(",");
var obj = {};
for(var i=0; i<values.length; i++) {
var keyValue = values[i].split(" = ");
obj[keyValue[0]] = keyValue[1];
}
console.info(obj);Также ознакомьтесь с моим ответом на тему ES6.
$(document).ready(function() {
var attrs = "FNAME=abraham,LNAME=lincoln,COUNTRY=USA,JOB=PRESIDENT"
var keysValuesArray = attrs.split(',');
// keysValuesArray = ["FNAME=abraham", "LNAME=lincoln", "COUNTRY=USA", "JOB=PRESIDENT"]
var attrsObject = {};
for (var i = keysValuesArray.length - 1; i >= 0; i--) {
var keyValueArray = keysValuesArray[i].split('=');
// Ex: keyValueArray = ["JOB", "PRESIDENT"]
attrsObject[keyValueArray[0]] = keyValueArray[1];
}
console.info(attrsObject);
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Предлагаю вам использовать:
.split(",") для разделения ваших элементов key=value,.forEach() для просмотра всех ваших элементов, с .split(" = ") для разделения ваших ключей и значений.Рабочий фрагмент:
var attrs = "FNAME=abraham,LNAME=lincoln,COUNTRY=USA,JOB=PRESIDENT";
var keys_vals = attrs.split(",");
var obj = {};
keys_vals.forEach(function(key_val) {
var [key, val] = key_val.split(" = ");
obj[key] = val;
});
console.info(obj);Вы даже можете использовать некоторую деконструкцию:
var attrs = "FNAME=abraham,LNAME=lincoln,COUNTRY=USA,JOB=PRESIDENT";
var obj = {};
attrs.split(",").forEach(function(key_val) {
var [key, val] = key_val.split(" = ");
obj[key] = val;
});
console.info(obj);Ответ со вкусом ES6 :)
const attrs = 'FNAME=abraham,LNAME=lincoln,COUNTRY=USA,JOB=PRESIDENT';
var obj = {};
attrs.split(',').forEach((el) => {
const [key, value] = el.split('=')
obj[key] = value;
})
console.info(obj);
используйте функцию разделения jquery, а затем расположите их в нужном порядке, например `var attrs = " FNAME = abraham, LNAME = lincoln, COUNTRY = USA, JOB = PRESIDENT "; var ind = attrs.split (','); `