标签: key-value

Ng-Model 未从输入标记更新对象(在带有键值管道的 ngFor 内)

我有一个 JSON 对象 - 其键是随机的 - 但在本例中我将使用IdandName作为示例:

{Id: "someID", Name: "some name"}

我试图显示该对象的每个键和值 - 但允许用户使用标签编辑值<input>。

<div>
    <p *ngFor="let item of data | keyvalue">
        Key: {{item.key}}: <input [(ngModel)]="item.value">, {{item.value}}, {{data[item.key]}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)

当用户对输入框进行更改时,屏幕上的输入会发生更改(即item.value) - 但数据对象不会更新(即data[item.key])。我可以使用ngModelChangeor(input)="onchange"($event, item.key)"或[(ngModel)]="data[item.key]来更新数据对象;但是,这会导致输入框失去焦点,因此一次只能更改一个字符。

我相信问题出在键值管道的某个地方 - 因为我使用预定义的键没有问题,即。<input [(ngModel)]="data.id">- 但显然因为对象内的键是随机的,我不能使用它。

那么:有没有办法使用 ngModel 来更新对象内的值。或者有没有其他方法来更新对象的值并将其显示在屏幕上和输入框中?

key-value ngmodel angular

2
推荐指数
1
解决办法
1367
查看次数

python 字典列表中特定键的值总和

我有一个字典列表:

[({'symbol':symbol, 'name':name, 'shares_total':shares_total, 'price':price, 'holding_value':holding_value})
 ({'symbol':symbol, 'name':name, 'shares_total':shares_total, 'price':price, 'holding_value':holding_value})
 etc.
]
Run Code Online (Sandbox Code Playgroud)

我想引入一个变量,它是字典列表中holdings_total所有键的值之和。"holding_value"

我相信有一些简洁的方法,但无法弄清楚。

有人可以帮忙吗?

谢谢!

python dictionary list key-value

2
推荐指数
1
解决办法
3292
查看次数

如何在 Javascript 中仅过滤常见对象值

我想过滤掉两个对象中常见的键值对。有两个对象:

first = {a:3 , b:4}
second  = {a:5 , b:4}
Run Code Online (Sandbox Code Playgroud)

我使用下面的代码来解决这个问题:

c = {}
for (const key of Object.keys(first)) {
    for( const k of Object.keys(second)){
        if ( key == k){
            if (first[key]==second[k]){
                c[key] = first[key]
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这工作正常并给出输出 {b:4},但对于下面的测试输入值,我得到空对象作为输出,我不确定如何检查常见但不相等的值。

first = {a: 3, b: {x:7}};
second = {a: 4, b: {x: 7, y: 10}}
Run Code Online (Sandbox Code Playgroud)

这里的输出应该是:

{b: {x:7}}
Run Code Online (Sandbox Code Playgroud)

javascript object filter key-value

2
推荐指数
1
解决办法
55
查看次数

使用 jq 获取所有嵌套键和值

我有一个像这样的json

{
  "outer1": {
    "outer2": {
      "outer3": {
        "key1": "value1",
        "key2": "value2"
      }
    },
    "outer4": {
      "key1": "value1",
      "key2": "value2"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望输出是

[outer1.outer2.outer3]
key1 = value1
key2 = value2

[outer1.outer2.outer4]
key1 = value1
key2 = value2
Run Code Online (Sandbox Code Playgroud)

我尝试过jq -r 'to_entries|map("\(.key)=\(.value|tostring)")|.[]' test.json但这不是我想要的

bash json key-value jq

2
推荐指数
1
解决办法
159
查看次数

在BerkeleyDB中存储图像

我在Perl中使用带有DB_File的BerkeleyDB.

  1. 如何将图像(小尺寸)存储为值?

  2. BerkeleyDB是在数据库中存储图像的正确选择吗?与其他一些数据库系统不同,Berkeley DB不提供对二进制大对象(BLOB)的特殊支持.

  3. 在mysql中存储图像是有问题的,因为实现对大型数据库的更改更难; 但像Berkeley.DB这样的键/值数据库是这样的吗?

database perl berkeley-db image key-value

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

奇怪的$ key => $与PHP的价值比较

我面临一个奇怪的PHP问题.这个简单的例子:

<?php
$array = array(
  'zero',
  'one',
  'id' => 'two'
);

foreach ($array as $key => $value) {
  if ($key == "id") {
    echo "Key: ". $key .", value: ". $value ."\n";
  }
}
?>
Run Code Online (Sandbox Code Playgroud)

应该(imho)输出:

Key: id, value: two
Run Code Online (Sandbox Code Playgroud)

但它输出

Key: 0, value: zero
Key: id, value: two
Run Code Online (Sandbox Code Playgroud)

这怎么可能:0 == "id"?

php foreach key-value

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

PhP:合并具有匹配键的数组并删除/删除额外的不匹配值

我想基于它们的键合并这两个数组,并且只保留关键匹配.合并的数组应保留键,值应来自第二个数组.

数组#1:我访问过的国家

Array
(
    [AL] => 113
    [AZ] => 83
    [CA] => 50
    [CO] => 1
...
Run Code Online (Sandbox Code Playgroud)

阵列#2:所有国家

Array
(
    [AL] => ALABAMA
    [AK] => ALASKA
    [AZ] => ARIZONA
    [AR] => ARKANSAS
    [CA] => CALIFORNIA
    [CO] => COLORADO
    [CT] => CONNECTICUT
...
Run Code Online (Sandbox Code Playgroud)

所以,如果我去过某个州,我想从数组2中获取该状态的名称.并从数组#2中删除任何不匹配的节点.

期望的结果

Array
(
    [AL] => ALABAMA
    [AZ] => ARIZONA
    [CA] => CALIFORNIA
    [CO] => COLORADO
...
Run Code Online (Sandbox Code Playgroud)

我已经在PHP手册和StackOverflow上做了大量的研究,但是找不到具体的答案.我认为它可能在于比我现在能够更复杂的用户定义函数.

array_merge() 几乎可以做我想要的,但是然后它将我没有访问过的状态添加到数组的末尾

array_intersect_key()也接近了.它只保留匹配的键,但随后它会删除值.

php arrays merge key key-value

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

使用通过关键字从地图中提取的值创建Clojure向量

我有一个用作查找表的Clojure矢量图:

(def data 
  [{map1},{map2},...,{nth-map}])
Run Code Online (Sandbox Code Playgroud)

向量中的每个映射都包含两个键/值对:

{:key1 "Value1", :key2 "Value2"}
Run Code Online (Sandbox Code Playgroud)

所以整个结构看起来像这样:

(def data
  [{:key1 "Value1-1", :key2 "Value2-1"}, ; map1
   {:key1 "Value1-2", :key2 "Value2-2"}, ; map2
                     |
                     |
                     V
   {:key1 "Value1-n", :key2 "Value2-n"}]) ; nth-map
Run Code Online (Sandbox Code Playgroud)

我想将其迁移到数据库表中.我已经有一个将值插入表行的函数.它需要一个向量,向量中的每个项目代表行中的一列:

(defn insert-row [column1-value column2-value]
  (sql/with-connection (System/getenv "DATABASE_URL")
    (sql/insert-values
      :table                           ; table name
      [:column1 :column2]              ; table column names
      [column1-value column2-value]))) ; values to be inserted into row
Run Code Online (Sandbox Code Playgroud)

我需要的是一个贯穿整个地图矢量的函数,对于每个地图,它创建一个只有该地图值的矢量:

[Value1 Value2]
Run Code Online (Sandbox Code Playgroud)

我想我可以使用现有的数据库函数insert-row作为参数map:

(map insert-row values-from-map)
Run Code Online (Sandbox Code Playgroud)

where values-from-map表示包含内部向量的外部向量(每个向量包含其各自的值),用于原始向量中的每个映射:

[[Value1-1 Value2-1]
 [Value1-2 Value2-2]
 [Value1-n …
Run Code Online (Sandbox Code Playgroud)

vector clojure map key-value

1
推荐指数
2
解决办法
3614
查看次数

在云中调试iCloud键值数据

我一直在试图弄清楚如何确定给定应用程序的键值存储中的实际内容.使用api来检测数据对我来说似乎很可疑,因为我害怕得到误报.此外,我不得不猜测还有什么可能存在(即从应用程序的先前版本或其他).据我所知,开发人员测试网站只显示云中的文件,而不是键值存储.有谁知道如何访问这些数据,或文件系统中存储本地.plist文件的位置(我认为它仍然在.plist中)?

key-value key-value-store icloud icloud-api nsubiquitouskeyvaluestore

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

Foreach键值对问题

我正在尝试将PHP脚本转换为Java脚本,但在foreach循环中遇到了一些问题.在PHP脚本中,我有一个foreach,它接受key:value对,并以此为基础执行str_replace.

  foreach ($pValues AS $vKey => $vValue)
        $vString = str_replace("{".$vKey."}", "'".$vValue."'", $vString);
Run Code Online (Sandbox Code Playgroud)

我已经尝试过复制这个Java而没有成功,我需要从数组中获取密钥以在字符串替换函数中使用但不能在我的生活中找出它可能从哪里获得密钥名称传入的数组.

这是正确的方式,还是我完全离开了??我应该使用这种ImmutablePair方法吗?

  for (String vKey : pValues)
        // String replace
Run Code Online (Sandbox Code Playgroud)

这里希望有一个简单的方法来获得Java中的密钥:值对,提前感谢.

java foreach key-value

1
推荐指数
1
解决办法
2万
查看次数