注意:我对原始问题进行了一些更改,因为我的问题不是字符串中的逗号。
我有一个正在研究的函数,用于从包含要搜索的字符串的新数组中排除单元格值。我这样做是为了汇总.setHiddenValues
的列表,因为.setVisibleValues
尚不受支持/实现。
为清楚起见,这是我的要求:
当前正在工作:
visibleValueStr
是用户输入的,因此不能太敏感。colValueArr
中可能包含带逗号的字符串。仍在努力:
visibleValueStr
可以是单个值或数组。在上述满足/未满足条件下,这是我当前拥有的功能:
function getHiddenValueArray(colValueArr,visibleValueArr){
var flatUniqArr = colValueArr.map(function(e){return e[0].toString();})
.filter(function(e,i,a){
return (a.indexOf(e.toString())==i && visibleValueArr.indexOf(e.toString()) == -1);
})
return flatUniqArr;
}
请让我知道我还需要什么其他信息。在我继续进行研究的同时,我将更新此问题。
评论说明:
用户以HTML格式输入输入,并且变量以visibleValueArr
的形式传递。
使用Logger.log(visibleValueArr)
时。
[apple, banana]
使用Logger.log(colValueArr)
时。
[[Apple],[apple][apple][apple and banana],[apple],[banana, and apple],
[apple, and banana],[orange],[orange, and banana],[kiwi],[kiwi, and orange],
[strawberry]]
所以当我使用时:
SpreadsheetApp.newFilterCriteria().setHiddenValues(newArray).build();
newArray
应该是隐藏值。在这种情况下,应为:
基本上任何不包含visibleValueArr
的内容。
相反,它返回所有值,将它们全部隐藏。
当我使用[Apple, Banana]
时,“ Apple”和“ Banana”值应按原样保留在newArray中,但不包括“ Apple and Banana”和“ Apple and Banana”“
此外,我还想了解e,i,a
中function(e,i,a)
的含义。我正在尝试在不同的地方应用.toLowerCase()
,以查看是否可以解决部分问题,但是我不确定该在哪里进行。
答案 0 :(得分:2)
<% @training_resource.users.each do |user| %>
<tr>
<td><%= user.full_name %></td>
<!-- If you want to display all the training_resources of the user and their statuses -->
<td><%= user.training_resources.map(&:name).join(', ') %></td>
<td><%= user.user_training_resources.map(&:status).join(', ')</td>
<td class="table-actions">
<!-- Assuming your path is something like '/admin/training_resources/:id/users/:user_id' -->
<%= link_to 'Delete', admin_user_training_resource_path(@training_resource, user), method: :delete, data: { confirm: 'Are you sure you want to delete this Training resource?' }, class: 'btn btn-danger btn-sm' %>
</td>
</tr>
<% end %>