当在数组中找到关键字时,在对象中循环以提取属性名称的问题
Issues looping through an object to pull out property names when a keyword is found in an array
我是一个自学编程的新手,使用angular、node.js和图形数据库noe4j开发web应用程序。
我正试图使用下划线库方法_.contents来提取标签数组中包含"核心"标签的术语的名称。我一直在努力找出正确的语法,任何指针都将不胜感激(包括避免在SO上提出恼人的语法问题的方法)。
我想我要么对循环如何通过对象有问题(每个"项"都由一组{}中包含的内容组成吗?),要么我试图识别循环中密钥的方式完全不正确。
返回数据样本样本:
[{"name":"Sciences","labels":["Term","Science"]},{"name":"Image","labels":["Type","Image","Core"]},{"name":"GIF","labels":["Type","Image"]},{"name":"Infographic","labels":["Type","Image"]},{"name":"Chart","labels":["Type","Image"]},{"name":"Photo","labels":["Type","Image"]},{"name":"Microscope","labels":["Type","Image"]},{"name":"Telescope","labels":["Type","Image"]},{"name":"Text","labels":["Type","Text","Core"]}]
角度控制器:
function typeCtrl($scope, $http) {
$http({method: 'GET', url:'/query/type' }).
success(function(data){
var theList = [];
for(var item in data) {
if (window._.contains(item.labels, "Core") === true) {
theList.push(item.name);
}
}
$scope.display=theList;
$scope.test = theList;
}).
error(function(data){
$scope.type="Error :("
});
};
您的数据是一个数组,而不是一个对象,因此for(var item in data)
会为您提供类似0,1,2的索引,这可能是的问题
所以你应该使用
for(var i=0;i<data.length;i++)
要查找标签数组是否包含Core,可以使用方法的基本indexOf
function typeCtrl($scope, $http){
$http({method:'GET', url:'/query/type'}).
success(function(data){
var theList = [];
for(var i=0;i<data.length;i++){
if (data[i].labels.indexOf("Core") > -1){
theList.push(item.name);
}
}
$scope.display=theList;
$scope.test = theList;
}).
error(function(data){
$scope.type="Error :("
});
};
请参阅样品小提琴以了解差异:http://jsfiddle.net/jmBjD/
相关文章:
- 如何提取“;href"最近列表项中的属性值
- 在不使用lodash-get的情况下从json中提取深层属性
- JavaScript无法提取引号css属性
- 从NodeList中提取属性值
- Javascript:如何通过Regexp从属性中提取字符串
- 创建新的javascript数组,从对象属性中提取数据
- 如何使用JQuery从文本区域内容中提取属性
- 如何使用正则表达式从javascript/jquery中的属性值中提取文本
- 提取并调用在元素的 onclick HTML 属性中定义的 JavaScript 函数(使用 jQuery attr/p
- 更改 TD 属性并保留从站点提取的数据中获取值
- 从对象中提取每个属性的 1
- 当在数组中找到关键字时,在对象中循环以提取属性名称的问题
- 如何从HTML中提取属性和文本
- 从数组中提取属性
- 使用jquery从HTML中提取属性
- 从XML文件中提取属性
- 从删除/复制的对象中提取属性,然后分配给其他对象
- 在JavaScript中以函数方式提取属性和值
- jQuery从xml文档中提取属性
- jQuery从html标签中提取属性id