请你看看这个演示,让我知道如何在
的当前输出的数组元素之间追加,
P [数据-ST!=所有] P [数据-ST!=男人] P [数据-ST!= BI]
要
p [data-st!= all],p [data-st!= men],p [data-st!= bi]
var filters = ['all',null,'men','bi',null];
var text = '';
var i;
for (i = 0; i < filters.length; i++) {
if(filters[i]!= null){
text += "p[data-st!="+filters[i]+"]";
}
}
console.log(text);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:1)
var filters = ['all',null,'men','bi',null];
var text = '';
var i;
for (i = 0; i < filters.length; i++) {
if(filters[i]!= null){
text += (i===0?"":", ") + "p[data-st!="+filters[i]+"]";
}
}
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这也是anotehr解决方案。你可以将每个p支架推到一个阵列并加入它们。 如果你不太担心内存和迭代。听到一个简洁易读的解决方案。如果您还不熟悉,它将向您介绍两种有用的数组方法。
function parseString(word)
{
return `p[data-st!=${word}]`
}
var filters = ['all',null,'men','bi',null];
let text = filters
.filter(val => !!val)
.map(val => parseString(val))
.join(',');
console.log(text);
答案 1 :(得分:1)
您可以使用数组方法完成此操作(并清理一下)。
http://mongoosejs.com/docs/api.html#findbyidandupdate_findByIdAndUpdate删除所有null
值。
.filter(n => n)
用字符串封装每个值。
.map(n => "p[data-st!=" + n + "]")
将数组的每个元素", "
加入string
。
var filters = ['all',null,'men','bi',null];
var result = filters
.filter(n=>n)
.map(n => "p[data-st!="+n+"]")
.join(", ");
console.log(result);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 2 :(得分:0)
创建一个新的数组变量并通过向其添加p[data-st!
文本来推送修改后的数据,然后使用带有逗号(join
)的,
方法作为分隔符来连接元素
var filters = ['all', null, 'men', 'bi', null];
var inArray = []
var i;
filters.forEach(function(item) {
if (item !== null) {
inArray.push("p[data-st!=" + item + "]")
}
})
console.log(inArray.join(','));
答案 3 :(得分:0)
您可以对字符串执行简单的for循环,并在每个右侧括号后添加一个昏迷。不是最好的选择,但它会起作用。
var newString = '';
for(let i = 0; i < text.length; i++)
{
let char = text[i];
newString += char;
if(char === ']') newString += ',';
}
&#13;
答案 4 :(得分:0)
var filters = ['all',null,'men','bi',null];
var a = [];
for(i in filters){
if(filters[i]!= null){
var b = [];
b = "p[data-st!="+filters[i]+"]";
a.push(b);
}
}
console.log(a.join());