我有一个功能,它工作正常,但codacy检查表明这样做是不好的做法。我知道它甚至看起来不安全,但我无法想出如何做到另一种更好的方式。
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!-- need to assign value of ng-app to module name for automatically bootstrapping the angularjs application -->
<div ng-app="myApp" ng-controller="mainController">
<div ng-hide = "state"> <!-- here -->
<p>hello</p>
</div>
{{ state }}
</div>
在Icycool的建议之后,我想出了一些更容易被接受的东西。我尝试使用forEach循环,但它没有工作,所以我决定使用fori。虽然它不是完美的,但它现在要做的事情:
const a = [{
a: 1,
b: 2
}, {
a: 1,
c: 3
}]
const b = a.reduce((acc, cur) => Object.assign(acc,
...Object.keys(cur).map(key => ({ [key]: (acc[key] || []).concat(cur[key]) })))
, {})
console.log(b)
答案 0 :(得分:1)
您可以使用递归函数简化它。
function getCount(i, items) {
var count = 0;
items.forEach(function(item) {
if (item.isArray) count += getCount(i, item);
else if (item == i) count++;
});
return count;
}