gpt4 book ai didi

javascript - 如何在 JavaScript 中创建和修改关联数组?

转载 作者:行者123 更新时间:2023-11-30 13:51:44 25 4
gpt4 key购买 nike

我正在尝试将一些代码从服务器端移动到客户端。我正在努力使用 Javascript。看来我需要使用对象与数组来实现。

我有一些带有循环遍历的数据属性的输入字段。

$(".selection:checked").each(function(){

$selection_id=$(this).data('selection_id');
$swatch_id=$(this).data('swatch_id');

});

首先,我想创建一个如下形式的数组:

$array[$selection_id]=$swatch_id;

array(100=>123,200=456,300=789)

其次,我想遍历一个元素列表并根据数组键换出一个值。

元素有键 100 和值 1000 那么:

$array[100]=1000;

新数组是array(100=>1000,200=456,300=789)

最后,我需要获取该数组并将其转换为以下形式的字符串:

"100:1000,200:456,300:789"

我是 Javascript 的新手,仍在努力了解对象。感谢您的帮助。

最佳答案

您最好创建一个对象来存储 $selection_id => $watch_id 映射。您可以使用以下语法实现它

const mapping = {};
mapping[$selection_id] = $watch_id;

那么这个 array(100=>123,200=456,300=789) 看起来像

mapping = {
100: 123,
200: 456,
300: 789
}

值可以使用映射 [100] 访问,这将为您提供 123。如果您想将其转换为您指定的字符串,请执行以下操作。

const mapString = Object.keys(mapping).reduce((acc, curr) =>
`${acc}${curr}:${mapping[curr]},`,
"").slice(0, -1)

它会给你这个输出 "100:123,200:456,300:789"

更新

要生成 mapString,请使用以下内容。谢谢@Soc 的建议。

const mapString = Object.keys(mapping).map(key => `${key}:${mapping[key]}`).join(',');

关于javascript - 如何在 JavaScript 中创建和修改关联数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58110233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com