草庐IT

mbfl_convert_filter_flush

全部标签

javascript - 未捕获的类型错误 : Cannot convert a Symbol value to a string

我从服务器收到以下JSON:然后我尝试在AJAX调用的success中使用$.map映射它,如下所示:$.ajax({type:"GET",url:urlGetStaticData,success:function(data){self.AvailableTags(data[0].Value);self.MeasurementUnits($.map(data[1].Value,function(item){returnko.mapping.fromJS(item)}));最后一行抛出以下异常:UncaughtTypeError:CannotconvertaSymbolvaluetoas

Javascript 数组 filter() 与 bind()

我正在使用filter()数组助手来遍历数组中的一些对象。我的想法是创建一个动态过滤函数以使用bind()遍历数组中的对象,但bind中的参数的使用方式与我预期的不同。这是代码:varproducts=[{name:"lettuce",type:"vegetable"},{name:"apple",type:"fruit"},{name:"carrot",type:"vegetable"},{name:"orange",type:"fruit"}];//thisisthefunctionusedinfilter()functionfilterProducts(cat,product){

Javascript Array.prototype.filter 意外输出

背景最近在面试,有人给我做了个测试:vararray=[1,2,3];array[10]=10;alert(array.filter(n=>n===undefined));我相信这会警告一个数组有7xundefined,或者这些行中的某些内容。但是,它输出一个空数组,如长度为0的数组。问题对我来说,这是令人困惑的。谁能帮我解释为什么会这样? 最佳答案 不访问已删除或未初始化(在稀疏数组上)的项目。Array#forEachDescriptionforEach()executestheprovidedcallbackonceforea

javascript - 如何解决这个 "Uncaught TypeError: Cannot convert undefined or null to object "

我的功能是:functioncollect_que_ids(e){varval=e.val();vardata_lo=e.attr('data-lo');new_hash={};new_hash[val]=data_lo;if(e.is(':checked')){if(checked_box_hash.includes(new_hash)){checked_box_hash;}else{checked_box_hash.push(new_hash);}}else{new_hash_key=Object.keys(new_hash)[0]new_hash_value=new_hash[n

javascript - lodash/js : Filtering values within an object based on regular expressions and getting the highest by comparison

对于下面的json[{"index":"xyz",...},{"index":"abc1234",...},{"index":"xyz",...},{"index":"abc5678",...}...我想分别过滤掉abc值和xyz值。我尝试了以下方法来获取值varx=_.filter(jsonData,function(o){return/abc/i.test(o.index);});它可以提供过滤后的输出。现在我想获得最高的abc值,如果有值abc123,abc444,abc999那么代码应该返回abc999。我可以使用lodash再次循环,但这是否可以在一次调用中完成-在同一个过滤

javascript - JS (ES6) : Filter array based on nested array attributes

我有一个数组,看起来像这样:constpersons=[{name:"Joe",animals:[{species:"dog",name:"Bolt"},{species:"cat",name:"Billy"},]},{name:"Bob",animals:[{species:"dog",name:"Snoopy"}]}];现在我想根据物种进行过滤。例如:每个养猫的人,都应该返回:constresult=[{name:"Joe",animals:[{species:"dog",name:"Bolt"},{species:"cat",name:"Billy"},]}];我试过这样的fil

javascript - gulp-filter 没有正确过滤掉排除的文件

我正在尝试在一个项目中使用gulpjs而不是grunt。在我的代码上运行jsHint时,我试图使用gulp过滤器忽略vendor库。我的代码基于自述文件示例中的代码,但文件未被过滤。我正在运行Node0.10.26、gulp3.8.0和gulp过滤器0.4.1我正在尝试在包含许多其他JS文件目录的目录wcui/app/js上运行jshint,总共大约有120个js文件。我只想排除vendor目录。我的代码是这样的:vargulp=require('gulp');vargulpFilter=require('gulp-filter');varjshint=require('gulp-js

javascript - AngularJS - $filter 未定义

我正在尝试将过滤器注入(inject)我的Controller并按原样使用它:angular.module('graduateCalculator',[]).filter('slug',function(){returnfunction(input){if(input){returninput.toLowerCase().replace(/[^a-z-]/g,'-');}};}).controller('GraduateCalculatorController',['$filter',app.graduateCalculator($filter)]);但是,我得到了上面的错误。我显然做

javascript - Typescript Convert Object to Array - 因为 *ngFor 不支持对象的迭代

我可不想这样用for循环把Object转成Array!如果加倍处理并降低应用程序的性能(我正在使用Ionic2和Typescript,以及Firebase)for(输入数据){array.push(值);是否有使用*ngFor迭代对象本身(如附图所示)的解决方案。或者我可以将此对象(如附图所示)转换为数组,以便可以在*ngFor中进行迭代。 最佳答案 您可以使用Object.keys(obj)来获取命名索引。这将返回一个数组结构,您可以进一步使用/自定义它。用于遍历对象值的示例可能如下所示varpersons={john:{age:

javascript - 是否使用 [array].filter 或 _.filter

我的项目包含underscorejs作为依赖项。在内部我需要做很多复杂的数组操作,基本上包括我映射、过滤或减少数组。我们在Array.prototype上有原生的map、filter、reduce方法。但是在underscorejs中也可以使用相同的方法。就我个人而言,使用原生方法对我来说更有意义,因为它比像_(array).filter(function(){})这样的包装对象感觉更自然_.filter(array,function(){}).请提出建议。 最佳答案 这确实是一个基于意见的问题。Lodash将为您提供更好的浏览器支