将每个拆分结果与每个类元素进行比较

Posted

技术标签:

【中文标题】将每个拆分结果与每个类元素进行比较【英文标题】:Compare each splitted result with each class element 【发布时间】:2017-06-14 03:08:12 【问题描述】:
var data = 'sky,sea,earth,moon';
var a = data.split(","), i;
for (i = 0; i < a.length; i++) 
    var b = a[i].text();
    $('mdcatsitem').each(function()
        if (b == $(this).text()) $(this).addClass('toggleright');
    );

控制台:Uncaught TypeError: a[i].text is not a function

我需要什么: - 将data 拆分为多个部分; - 获取each部分的文本并将其与eachmdcatsitem的文本进行比较; - 如果匹配 - 添加一个类到mdcatsitem

【问题讨论】:

$('mdcatsitem').filter(function(i, el) return a.includes(el.textContent) ).addClass('toggleright') 【参考方案1】:

a[i].text() 替换为a[i]

a[i] 不是 dom 元素 而是 字符串asplit data 之后的数组。

a = ['sky', 'sea', 'earth', 'moon']

使用此代码:

var data = 'sky,sea,earth,moon';
var a = data.split(","), i;
for (i = 0; i < a.length; i++) 
    var b = a[i];
    $('mdcatsitem').each(function()
        if (b == $(this).text()) $(this).addClass('toggleright');
    );

【讨论】:

【参考方案2】:

你为什么在字符串上调用.text()

data 是一个分隔字符串,在你调用 .split() 之后,a 只是一个字符串数组:

['sky', 'sea', 'earth', 'moon']

当循环a时,你可以直接引用a[i]作为你想要的字符串:

var b = a[i];
// b now equals the string, such as 'sky' or 'sea'

【讨论】:

以上是关于将每个拆分结果与每个类元素进行比较的主要内容,如果未能解决你的问题,请参考以下文章

test

在数学上如何将分类结果与聚类结果进行比较

将每个元素与列表中的其他元素进行比较

将多个空格从文本文件拆分为数组

为啥“StratifiedShuffleSplit”对数据集的每个拆分都给出相同的结果?

将 HDBSCAN 标签与软聚类结果进行比较