- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
很抱歉,如果这只是常识,但我正在考虑一种比从数组中获取对象更高级的方法
for(var i = 0; i < array.length; i++)
{
if(i.id == idfromfunction)
{
dostuff();
}
}
所以我想的是改为做这样的事情
keyValuePairs = {};
function add(data,Id)
{
keyValuePairs[Id] = data
}
function remove(Id)
{
delete keyValuePairs[Id];
}
然后可以简单地检索数据
keyValuePairs[Id]
并使用(或使用来自此答案的更新版本 How to get all properties values of a Javascript Object (without knowing the keys)? )遍历数据
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
var val = obj[key];
// use val
}
}
或
function doLoop(callback)
{
for (var key in obj) {
if (Object.prototype.hasOwnProperty.call(obj, key)) {
var val = obj[key];
callback(val, key);
}
}
}
然后使用
doLoop(function(val, key){
dostuff(val);
or
if(key == idfromfunction)
{
dostuff(val);
}
});
现在我不确定这是否真的是我应该一直做的,或者这是否是常识,但老实说我最近才发现删除关键字
所以我想问题是,这是进行键/值配对的有效方法(作为一种几乎类型的数组)吗?
为什么人们在制作 3rd 方插件时不直接使用它而不使用数组,或者为什么我以前没见过它? (是不是慢很多?分机)
我现在有点忙,但前提是没有人向我提及这已经被大量记录(或者我的想法是错误的),我会做一些实验然后回发。
最佳答案
I'm sorry if this is just common knowledge but I was thinking of a more advanced way of getting an object from an array then
for(var i = 0; i < array.length; i++)
{
if(i.id == idfromfunction)
{
dostuff();
}
}
没错,还有更“高级”的方式。是Array.prototype.find
var item = array.find(function(x) { return x.id === idFromFunction });
if (item === undefined)
doSomething();
else
doStuff(item);
Array.prototype.find
将遍历一个数组,每个项目调用一次提供的过程。如果该过程返回 true
,则返回该项目并终止迭代。如果过程永远不会返回 true
, 结果值将是 undefined
。
根据您的最后一段代码,您似乎已经顺利地自行发现/实现了此功能。干得好。
关于javascript - 更高级的 JavaScript 键/值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37692755/
我有一个 DIV #page,如果我在顶部添加边距,突然出现一个滚动条,即使该元素不大于主体。我怎样才能去掉滚动条? (参见 Fiddle) 我的 HTML I am a div siz
function getClosestValue(standardArray, targetVal) { standardArray = standardArray.sort(function(a,
我有 318x424 的书籍封面图片,我想做的是指定一张图片,并在其下方添加一个文本链接。初始 src 是 about:blank,这样如果响应式设计不显示框架,它就不会占用用户带宽。 框架的 HTM
我被这个问题困了两天了,还是没搞定。 基本上,我有一个二维数组,其中包含某些数字(在给定范围内)之间的关系: 0 = 顺序无关紧要 1 = 第一个数字(左栏中的数字)应该是第一个 2 = 第二个数字(
只有当我在更高的 API 上进行调试时,我才会强制关闭脚本:16,但是当涉及到 API 时它工作正常:10。这可能是我的项目设置问题吗? 这是对服务器的简单请求,以获取 fragment 中的类别列表
给定下表books id | listorder ----+----------- 3 | 1 2 | 2 1 | 3 4 |
我想要那个密码切换功能,好像TextInputLayout有这个功能,而不是 TextInputEditText .但是正如您在下面的代码中看到的,即使我将高度设置为 wrap_content和 ap
似乎从 读取给出空列表,它主要发生在延迟较高的网络上的主机上。是否有更强大的与远程主机交互的方式? use Net::SSH2; # my $ssh = Net::SSH2->new(); # ..
为了在 Play 商店中发布我的应用程序,我必须将 TargetSdkVersion 从 23 更改为 26。在我更改它之前,该应用程序运行良好!现在应用程序在启动时崩溃。我想通了,问题出在这两行:
我尝试了很多解决方案,但找不到一个。我有 3 个不同的列,其中包含不同类型的文本,我需要它们具有相同的高度。但它们是这样不同的:colums有人可以帮忙吗? 代码: .col-sm-2{
我尝试将一个 div 相对于其具有负顶值的父级定位。这工作正常,现在的问题是这个 div,即使它有一个负的 top 值也会使父 div 更大。 我该怎么做才能让父 div 不那么大? Here's a
这是一个一般性问题,可能适用于任何给定的语言,如 C、C++、Java 等。 我认为无论以何种方式实现它,都不会比使用 2 个循环更高效,后者的效率为 n^2。 for(i=0;i O(1) ),要么
我需要查找所有有订单的家庭。我根本不关心订单的数据,只关心它的存在。 (使用 SQL Server) 这样说是不是更有效率: SELECT HouseholdID, LastName, FirstNa
我有一个 UINavigationController,在屏幕顶部有一个 UINavigationBar,在底部有一个 UIToolbar。我想让工具栏高一点。这是我的代码: CGRect toolb
我正在使用自定义字体。该字体在我的 Windows PC 上完美运行,但在我的 Mac (Yosemite OSX) 上运行不佳。正如您在图片中看到的,Mac 上的字体比 Windows 上的字体稍大
我正在尝试使用 FaSTLane 将我的应用程序作为 alpha 版本部署到 Play 商店,但出现此错误: Google Api 错误:multiApkShadowedActiveApk:任何设备都
我在这里找不到神奇的调味料。看起来 API 不支持它,所以我想我正在寻找一些 CSS 来使 slider 更大。 我得到的是左边的,但我想把它设计成右边的样子?任何 CSS 技巧或以前有人这样做过。
如果我运行这段代码: float a=1.123456789; printf("The float value is %f\n",a); double b=1.123456789876543 prin
我正在尝试使用 strip binary 来剥离我的目标文件。我在 gcc-7 上构建了最新的 binutils,但我的代码库使用 gcc-4.9.2。Binutils 是为 64 位架构构建的,我的
有没有办法让 iPhone 应用的“内容”区域感知到更大的导航栏? 类似这些问题: iOS: Adding a fixed image just below the navigation bar iO
我是一名优秀的程序员,十分优秀!