当前位置: 首页 > 面试题库 >

JS-深层地图功能

关翰
2023-03-14
问题内容

Underscore.js具有非常有用的map功能。

_.map([1, 2, 3], function(num){ return num * 3; });
=> [3, 6, 9]
_.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; });
=> [3, 6, 9]

我正在寻找可以迭代嵌套对象或深层映射的类似功能。经过大量搜索后,我无法真正找到它。我所能找到的是 采摘 深层对象的东西,但没有遍历深层对象的每个值。

像这样:

deepMap({
  one: 1,
  two: [
    { foo: 'bar' },
    { foos: ['b', 'a', 'r', 's'] },
  ],
  three: [1, 2, 3]
}, function(val, key) {
  return (String(val).indexOf('b') > -1) ? 'bobcat' : val;
})

一个人怎么做?

样本输出

{
  one: 1,
  two: [
    { foo: 'bobcat' },
    { foos: ['bobcat', 'a', 'r', 's'] },
  ],
  three: [1, 2, 3]
}

问题答案:

这是使用转换的Lodash解决方案

function deepMap(obj, iterator, context) {
    return _.transform(obj, function(result, val, key) {
        result[key] = _.isObject(val) /*&& !_.isDate(val)*/ ?
                            deepMap(val, iterator, context) :
                            iterator.call(context, val, key, obj);
    });
}

_.mixin({
   deepMap: deepMap
});


 类似资料:
  • 原文地址:https://cesiumjs.org/tutorials/Terrain-Tutorial/ Cesium支持渐进流式加载和渲染全球高精度地形,并且包含海、湖、河等水面效果。相对2D地图,山峰、山谷等其他地形特征的更适宜在这种3D地球中展示。 地形数据集是巨大的,通常都是GB或者TB级别。在普通3D引擎中,使用底层图形API去高效实现地形数据的可视化需要做很多事情。幸好,Cesium

  • 本文向大家介绍JS百度地图搜索悬浮窗功能,包括了JS百度地图搜索悬浮窗功能的使用技巧和注意事项,需要的朋友参考一下 这个需求的效果类似下面的截图,主要还是利用百度地图中自定义控件的功能,挺简单的。文档地址在这 http://lbsyun.baidu.com/index.php?title=jspopular 效果图: 代码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教

  • 图形渲染 渲染系统,包括材质,光照,粒子等 UI系统 UI系统,包括与UI 相关的全部内容 动画系统 基于动画帧数据及骨骼顶点数据的通用动画及骨骼动画体系 音频 控制声音片段的播放暂停等 物理模拟 物理仿真模拟,主要包括刚体和碰撞等 脚本指南及事件系统 用于实现用户定义行为的脚本使用指南,包括事件的触发机制等 组件 用于为游戏对象添加不同功能的组件说明 资源 引擎使用到的各种不同资源介绍及整体资源

  • 本文向大家介绍js调用百度地图及调用百度地图的搜索功能,包括了js调用百度地图及调用百度地图的搜索功能的使用技巧和注意事项,需要的朋友参考一下 js调用百度地图的方法 代码如下: js调用百度地图搜索 引用百度js Api 创建地址解析器: 结合knockout的textInput绑定方法和对象的subscribe属性,实现输入框变化实时查询功能。 以上就是呐喊教程的小编给大家分享的js调用百度地

  • 出发地:http://www.sitemaps.org/protocol.html: 如果要列出超过50000个URL,必须创建多个站点地图文件 那么是否有可能创建一个3层或更多层的链?例如: //mysite/sitemap.xml是: //mysite/sitemaps/index。xml是: 和//mysite/sitemaps/sitemap lm。xml。gz是一个普通的gzip XML

  • 本文向大家介绍arcgis android之地图图层切换,包括了arcgis android之地图图层切换的使用技巧和注意事项,需要的朋友参考一下 图层切换是arcgis for android 开发必常见的功能,我的实现方法很简单。 首先初始化多个图层服务对象,如下: 在onCreate()方法里创建一个默认图层: 最后当点击相应的图层按钮时做判断即可: 好了,今天就写到这里,以后我再介绍其他a