Ric*_*rth 1 javascript angularjs
我使用以下代码尝试生成一个列表,显示lettersAngularJS控制器中列表中每个项目的计数:
$scope.letters = ['a','b','c'];
$scope.letterdata = ['a','b','a','c','b','a'];
$scope.counts = $scope.letters.map(function (x) {
$scope.letterdata.filter(function (y) {
return (x == y);
}).length;
});
Run Code Online (Sandbox Code Playgroud)
我想得到[3,2,1]输出,但这显示为[null,null,null].
你return内心缺少陈述map().
$scope.counts = $scope.letters.map(function (x) {
return $scope.letterdata.filter(function (y) {
^^^^^^
return (x == y);
}).length;
});
Run Code Online (Sandbox Code Playgroud)
var letters = ['a', 'b', 'c'];
var letterdata = ['a', 'b', 'a', 'c', 'b', 'a'];
var counts = letters.map(function (x) {
return letterdata.filter(function (y) {
return(x == y);
}).length;
});
console.log(counts);Run Code Online (Sandbox Code Playgroud)
但这显示为
[null,null,null].
你应该得到[ undefined, undefined, undefined ]什么,因为没有返回,默认情况下undefined返回.
使用ES2015 箭头功能编写的等效代码.
$scope.letters.map(x => $scope.letterdata.filter(y => x == y).length)
Run Code Online (Sandbox Code Playgroud)
var letters = ['a', 'b', 'c'];
var letterdata = ['a', 'b', 'a', 'c', 'b', 'a'];
var counts = letters.map(x => letterdata.filter(y => x == y).length);
console.log(counts);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28 次 |
| 最近记录: |