这是我的阵列:var filteredData = [{ id: 1, phoneno: '91888888888', sender: 'test' },{ id: 2, phoneno: '9199999999999', sender: 'hel' }]我用于循环for (var i = 0; i < filteredData.length; i++) {if (filteredData[i].sender === test) {console.log('worked');}else{console.log('not worked');} }如何用地图做到这一点?在javascript而不是for循环.解决方法:正如评论中所提到的,forEach最好在您的示例中使用.但是如果你...
我正在使用map来获取数组的子部分.var mappingobj = {"custom":[{"head":"202","sub":["302","303"]},{"head":"203","sub":["102"]}],"spec":[]};var subids = mappingobj.custom.map(function(o, i) {if(o.head==202){return o.sub;} });console.log(subids); 我只需要[“302”,“303”].但我得到的输出为[Array [2],undefined].解决方法:基本的想法是,map是从数组中获取特定值.如果你没有在地图中返回任何东西默认情况下undefine...
请在此处查看示例:http://jsperf.com/map-vs-for-basic相反,在Chrome控制台中,我得到了相反的结果(地图有时比循环快6到10倍).我猜它会相反.var input = [];for(var i=0;i<10000;i++)input[i]=new Date(i);var output = [];function perform(value,index){return value.toString()+index*index }console.time(1);output = input.map(perform);console.timeEnd(1); // 1: 45.000msconsole.time(1);for(var i=0;i<input.length;i++)o...
第一种方法:let mapData = new Map().set(1, 12).set("aa", 123).set("12", "dsgdsg");console.log("转化后的数组 ==="+[...mapData]); 第二种方法:var list = []; for (var key of mapData.keys()) {list.push([key, mapData.get(key)]); } console.log("转化后的数组======="+list);
setExpenseAndAmountSum: function() {var detailList = vehicleVueObj.vehicleData;var expenseAmountSum = "";//报销金额var expenseAmountMap = new Map();//存放key为币种符号,value为报销某一币种的合计var invoiceCountSum = 0; // var expenseAmountTotalMap = new Map();if (detailList != undefined && detailList.length > 0){for (var i = 0;i < detailList.length;i++) {if(detailList[i]!=null){...
我想制作一个0到1之间的随机数组,所以我试过:var randList = _.map(new Array(5), Math.random);但我没有得到我预期的随机元素列表,而是:console.log(JSON.stringify(randList)); "[null,null,null,null,null]"为什么我得到一个null数组而不是随机数?解决方法:Array(length)构造函数创建稀疏数组.也就是说,数组的长度设置为指定的参数,但不填充数组的元素.因此,map方法不会迭代这些“未填充的”元素.例如,以下代码段不会在控制台...
要在JavaScript中循环查询querySelectorAll的结果,以下哪一个比另一个更优选?[].forEach.call(document.querySelectorAll('div'){// do something })[].map.call(document.querySelectorAll('div'){// do something })本质上,我想知道这些是否实现了从querySelectorAll返回的每个dom元素提供访问的相同结果.如果是这样,那么一个人可能想要使用另一个的原因是什么?解决方法:forEach对原始数组元素进行操作. (如果你想迭代所有元素...
我创建了一个用React.js动态加载其内容的网页.我正在从REST api调用中检索一个对象数组,然后将它们提供给一个表.我遇到的问题是array.map中的onClick赋值不会触发指定的函数. 我相信这是一个[这个]背景问题,但我不知道如何解决它. array.map中的[this]与array.log之外的array.map之外的[this]不同. 我创建了两个独立的html文件进行演示.第一个包含一个静态创建的对象,它正确调用onClick函数: https://jsfiddle.net/m1vugyd9/ 第二...
import React, {Component} from 'react'; import './App.css'; import axios from 'axios';export default class App extends Component {constructor() {super();this.state = {weather: []};} componentDidMount (){this.search(); }search = () => {axios.get("http://api.openweathermap.org/data/2.5/weather?q=Houston&APPID=f2327cca8f3d665f4c9f73b615b294ed").then(res => {this.setState({weather: res.data});}).catch...
我正在尝试编写一个方法来帮助我返回所有货币的对象键数组.但是,我陷入了一个点,我得到了具有键值对的完整对象数组. 是的,我主要需要使用ES6方法.我不想使用任何其他迭代器. 对于例如:我需要的:['AED', 'ALL', 'AUD', 'EUR' .....]我得到了什么:[{AED: {"isDefault": true}}, {ALL: {"isDefault": true}}, {AUD: {"isDefault": true}}, {'EUR': {"isDefault": true}}.....]你能帮助我实现这个目标吗? 这是代码:var myJSON = {...
ExtJS有Ext.each()函数,但是有一个map()也隐藏在某个地方吗? 我努力了,但没有找到任何可以填补这个角色的东西.这似乎是一件简单而微不足道的事情,一个像Ext这样庞大的JS库显然必须拥有. 或者当Ext真的不包含它时,将它添加到Ext的最佳方法是什么.当然,我可以写:Ext.map = function(arr, f) { ... };但这真的是正确的方法吗?解决方法:截至至少Ext4,包括Ext.Array.map. http://docs.sencha.com/extjs/5.0.1/#!/api/Ext.Array-metho...
我的需要很简单.我想将sendEmail的调用延迟100毫秒.电子邮件服务提供商每秒最多允许发送10封电子邮件. 但请注意,虽然.map是同步的,但它会立即返回Promise. 我试过setTimeout无济于事,比如setTimeout(()=> resolve(x),100)和setTimeout(()=> {return new Promise ….},100). 思考?const promises = userEmailArray.map((userEmail) => {return new Promise((resolve, reject) => {....mailer.sendEmail(userEmail);return resolve(...
嗨,我的代码有问题.import { Injectable } from '@angular/core'; import { Car } from "./models/car"; import { Observable } from "rxjs/Observable"; import { Http } from "@angular/http"; import 'rxjs'@Injectable() export class CarsService {private apiUrl = "http://localhost:3000/api/cars";constructor(private http : Http) { }getCars() : Observable<Car[]> {return this.http.get(this.apiUrl).map((res) => r...
获取这样的数组并使用每个数字创建一个新数组,可以像这样完成前面数字的总和:let numbers = [1, 2, 3, 4] let total = 0 numbers.map(v => total += v)// result // [1, 3, 6, 10]如果数组包含具有键/值对的对象,或者我必须使用不同的方法,是否有办法使用此相同的方法?var numbers = [{ val1: 1, val2: 2, val3: 3, val4: 4 }]结果将是与值相加的相同键.var numbers = [{ val1: 1, val2: 3, val3: 6, val4: 10 }]编辑:所有这些...
我有一个Java Map.我想将其转换为JavaScript地图. 要转换为JS映射的java函数如下:private Object getJSLocalizedValueMap() {Map<String, String> langSel = new HashMap<String, String>();langSel.add("en", true);langSel.add("de", false);langSel.add("fr", false);//Now convert this map into Javascript MapNativeObject nobj = new NativeObject();ScriptEngineManager factory = new ScriptEngineManager();ScriptEngin...