我最近开始放弃下划线/ lodash过度使用(部分)我的项目并意识到浏览器中没有完全支持find方法.ES6方法查找和使用.shift()与过滤器结果之间的区别是什么
var user = users.find(function() { ... } );
Run Code Online (Sandbox Code Playgroud)
要么
var user = users.filter(function() { ... } ).shift();
Run Code Online (Sandbox Code Playgroud)
我认为对"find"方法有明显的优化(停止迭代拳头匹配),但是我可以使用第二种方法得到意想不到的结果吗?我应该使用polyfill吗?为什么?
我使用ngResource从我的api中提取一些对象,然后将它们显示在表格中.好吧..问题变成了当我尝试使用angular-xeditable使'tags'属性可编辑但被视为字符串并且在angular-xeditable上没有类似"ngList"的东西.我能想到的唯一解决方案是在我的服务上将"tags"属性序列化为"tagsString",并在调用$ save()后将其反序列化..有一个更优雅的解决方案吗?
宾语:
{
"id": "yP8",
"uploadDate": "2012-10-03T12:52:59-0300",
"statusChangeDate": "2012-10-03T12:52:59-0300",
"status": 0,
"type": 1,
"mimeType": "JPEG",
"title": "title-36868",
"tags": [
'some-tag',
'fancy-tag'
],
"language": "en",
"interactions": {
"likes": 12371,
"dislikes": 15,
"comments": 81
},
"published": true
}
Run Code Online (Sandbox Code Playgroud)
控制器:
app.controller( 'ContentsCtrl', function CommentsCtrl( $scope, Contents ) {
$scope.contents = Contents.query();
});
Run Code Online (Sandbox Code Playgroud)
模板:
<tr ng:repeat="content in contents.content">
<td>{{content.id}}</td>
<td ng:click="content.images.showFull=!content.images.showFull">
<img src="{{content.images.thumbnail.url}}" ng:show="!content.images.showFull">
<img src="{{content.images.medium.url}}" ng:show="content.images.showFull">
</td>
<td>{{content.status}}</td>
<td>
<span editable-text="content.title" e-required>{{content.title}}</span>
</td>
<td>
<span editable-text="content.tags">{{content.tags}}</span>
</td>
<td>{{content.language}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
编辑:
演示(由SebastianGärtner撰写):http …
我想要一种简单的方法来在所有__tests__
路径中运行一组不同的规则,因此我不需要像这样在每个文件中使用内联配置
// eslint-env jasmin:true
/*
eslint
max-nested-callbacks: 0,
no-unused-expressions:0,
prefer-arrow-callback:0,
func-names: 0,
max-len: [2 , 150]
*/
Run Code Online (Sandbox Code Playgroud)
在每个文件中创建 .eslintrc 文件__tests__
基本上是相同的,因此,它不是一个选项,因为我的应用程序有很多测试。