我有一个像这样的数组 ["Asthma", "Allergy", "Sports and Fitness"]
我需要将该数组转换为键值对字符串 - 如下所示:
prop1: Asthma prop1: Allergy prop1: Sports and Fitness prop2: Asthma, prop2: Allergy prop2: Sports and Fitness
是否可以使用Array.Proptotype.Reduce()
来做到这一点?
var propertyObjectRefinable = "";
jQuery("p[data-action='related-articles']>a span.media-content")
.map(function() {
return jQuery.trim($(this).text());
}).get().forEach(function(item){
propertyObjectRefinable += "RefinableString15:" + item + " " + "RefinableString16:" + item + " ";
});
给了我这样的东西,我不喜欢它,因为它不按顺序
RefinableString15:Sports and Fitness RefinableString16:Sports and Fitness RefinableString15:Allergy RefinableString16:Allergy RefinableString15:Asthma RefinableString16:Asthma "
最佳答案
let arr =["Asthma", "Allergy", "Sports and Fitness"];
let op = arr.map(e=>`prop1: ${e}`).join(' ');
console.log(op);
如果您想要多个特性
let arr =["Asthma", "Allergy", "Sports and Fitness"];
let op = arr.reduce((e,a)=>{
e[0].push(`prop1: ${a}`);
e[1].push(`prop2: ${a}`);
return e;
},[[],[]]);
let final = op.map(e=> e.join(' ')).join(' ');
console.log(final);
关于javascript数组转换为键值空格分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53765028/