[英]Search for the string/value in the array and replace the string/value in the array
尝试在给定数组中查找字符串/值并将其替换为新值; 更像是切换排序值并将其推入数组;
需要检查点击的价值;
if(_.contains($scope.sortList, sortText)){
console.log("exist");
} else{
console.log("doesnt exist");
}
嘿,兄弟,您可能已经搜索过先前的问题,请在下面的小提琴中查看一下,它对数组字符串/值进行了排序,现在您需要使用下划线来查找包含元素的元素。 [fiddle] [1]希望这会对您有所帮助。 祝一切顺利。
[1]: http://jsfiddle.net/mkdskd/78FVh/1/
我将执行以下操作:
创建一个具有所有可排序字段的对象,并保持其状态:
var fields = {
name: null, // null, 'asc', or 'desc'
age: null, // null, 'asc', or 'desc'
gender: null // null, 'asc', or 'desc'
};
创建一个toggle
功能:
function toggle(fieldName) {
switch (fields[fieldName]) {
case 'asc': fields[fieldName] = 'desc'; break;
case 'desc': fields[fieldName] = null; break;
default: fields[fieldName] = 'asc'; break;
}
}
并创建一个函数以从fields
对象生成sort对象:
function getSorting() {
var sort = [];
for (var fieldName in fields) {
var value = fields[fieldName];
if (value != null) {
sort.push(fieldName + ':' + value);
}
}
return {sort: sort};
}
因此,现在例如单击按钮“性别”,您可以调用toggle('gender')
,然后通过getSorting()
获得新的排序对象。
另外,您可以通过简单地循环遍历它来从数组中删除现有的排序值:
function removeFieldsStartingWith(array, str) {
var i = 0;
while (i < array.length) {
if (array[i].indexOf(str) === 0) {
array.splice(i, 1);
}
else {
i++;
}
}
}
并像removeFieldsStartingWith(myArray, 'gender:')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.