答案 0 :(得分:11)
您可以使用angular.isArray
功能。它内置于Angularjs。
如果您想在模板中使用此功能,则必须创建自定义过滤器:http://docs.angularjs.org/tutorial/step_09
您想要的示例:
angular.module('...', []).filter('isArray', function() {
return function (input) {
return angular.isArray(input);
};
});
然后您可以在模板中使用过滤器:
{{ myVar | isArray }}
答案 1 :(得分:1)
我猜你也可以在rootScope中添加下划线/ lodash并使用它:
_ = require('lodash')
angular.module('app',[])
.run(function($rootScope){
$rootScope._ = _
})
在模板中:
<div ng-show="$root._.isArray(foo)">
<label> First element of Foo </label>
<span> {{ $root._.first(foo) }} </span>
</div>
好处 - 你必须只在一个地方添加lodash,它将随处可用。您可以以相同的方式使用许多其他内容,例如Math
函数。只是合理,不要在表达式中加入过多的javascript。