小编Mar*_*ger的帖子

将javascript中的数组更改为更简单的对象

我有一个简单的JSON,其中包含一个包含其他对象等的数组,如下所示:

languagePack:
[
  {
    'key': 'Username',
    'value': 'Benutzername',
    'group': 'default'
  },
  {
    'key': 'Password',
    'value': 'Passwort',
    'group': 'default'
  }
]
Run Code Online (Sandbox Code Playgroud)

但是我真正想要的是这样的对象:

languagePack: 
{
    'Username': 'Benutzername',
    'Password': 'Passwort'
}
Run Code Online (Sandbox Code Playgroud)

因此,我想将数组简化为数组甚至对象内部的简单键值对(键是唯一的)。有谁知道如何通过一些很棒的数组函数来减少这种情况?我只为每个对象想出了一个类似的东西,并为属性建立了“手工”对象的属性,但我记得数组中有一些很棒的东西,例如“ reduce”,散布运算符(...),map,一些,等等

我尝试了类似的东西:

var temp = this.languagePack.map(([key, value]) => ({key,value}))
console.log(temp)
Run Code Online (Sandbox Code Playgroud)

但这只会给我一条错误消息 TypeError: Invalid attempt to destructure non-iterable instance

编辑:所有三个答案都工作正常。谢谢。

javascript arrays

13
推荐指数
3
解决办法
682
查看次数

CefSharp 3和SetZoomLevel



我在我的应用程序中以编程方式创建了许多ChromiumWebBrowser-Instances.一段时间后,我设置了浏览器的可见性和地址.我也想改变缩放级别.但每当我尝试以正常方式改变它时(比如简单地改变它)

browser.ZoomLevel = (Convert.ToDouble(browser.Tag) - 100) / 25.0;
Run Code Online (Sandbox Code Playgroud)

我只得到一个错误:IBrowser instance is null. Browser has likely not finished initializing or is in the process of disposing. 但是当我可以设置地址时,为什么我不能设置ZoomLevel?
即使我尝试在其中放置一个方法FrameLoadEnd并在那里更改ZoomLevel,我只会得到一个错误,它在另一个线程上.不应该在同一个线程上触发该事件吗?我无法访问活动内的活动发件人?奇怪...

有人知道如何以编程方式更改ZoomLevel吗?我必须在加载网站时更改它,然后再按按钮更改它.

哦,顺便说一下.我使用的是CefSharp 3的wpf版本.

c# wpf chromium-embedded cefsharp

5
推荐指数
1
解决办法
6041
查看次数

自 v107 起在 RestSharp 上使用 NTLM/Kerberos

NtlmAuthenticator一段时间以来, of似乎RestSharp已被弃用。某处提到的设置方法setting.UseDefaultCredentials = true;也不可用。

那么我该如何使用NTLMor KerberoswithRestSharp呢?
和不!我不能说我想使用的其他程序LDAPOAuth2.0任何您认为合适的程序。我有一个程序说:“我有一个 API,你可以授权LDAP/Kerberos,然后你就可以获取数据!” 我不是该 API 的程序员。

有谁知道如何使用较新版本的 RestSharp 获取我的数据,还是我必须返回到旧版本?

c# rest windows-authentication restsharp ntlm-authentication

5
推荐指数
1
解决办法
2126
查看次数