筛选JavaScript数组
Filtering a JavaScript array
我正在寻找一种方法来过滤我的JavaScript Array()columns
,其中parentId等于传递到方法中的变量。
// Array decleration
var columns = []; // Columns
//...
for (var i1 in columns) {
if (columns[i1].parentId == listItem) {
//...
有人能推荐一种最简单的方法来过滤它吗?使用纯JavaScript或jQuery来避免使用上面显示的if语句?
var filteredColumns = columns.filter(function(column) {
return column.parentId == listItem;
});
array = [1,2,3,4,5];
result = $.grep(array, function(n,i) {
return n > 3;
});
这将返回一个过滤后的元素数组,其中结果大于3。这里,n
是所考虑的元素,而i
是该元素的索引。因此,根据您的要求,代码可以这样运行:
resultArray = $.grep(columns,function(n,i) {
return n == parentId;
});
使用ES5阵列的过滤方法:
var filtered = columns.filter(function (item) {
return item.parentId === listItem
});
在上面的链接中,还有一个用于旧浏览器的填充程序。
你也可以手动完成:
var filtered = [];
for (var i = 0, item; item = columns[i++];)
if (item.parentId === listItem) filtered.push(item);
不要使用for…in来迭代数组。
相关文章:
- 如何遍历包含对象的数组-javascript
- 保存数组javascript
- 查找数组javascript中包含的元素类型
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 从多维数组javascript中提取特定值
- 如何在数组javascript中选择伪随机值
- 拆分字符串数组(JavaScript)后未定义
- 从数组JavaScript中删除并返回最后n个项的最快方法
- 使用条件for循环更新数组-Javascript
- 从数组javascript创建新对象
- 用数组(javascript)中的值替换regex捕获
- 从数组[Javascript]的总长度中减去一个干净的数字
- 将一个字符串数组解析为一个新的数组javascript
- 如何将对象转换为对象数组javascript
- 赢得't循环数组javascript
- 从不同的数组 JavaScript 中获取值
- 多维数组 JAVASCRIPT 出了点问题
- 可以't分配给一个对象数组javascript
- 比较数组JavaScript中的对象
- 如何完成缺少(连续)元素的数组|Javascript