gpt4 book ai didi

javascript - javascript中的php数组连接

转载 作者:行者123 更新时间:2023-11-28 14:22:27 25 4
gpt4 key购买 nike

我有一串数字,用:分隔。喜欢 "20:1:21,21:0:21" ,这段 php 代码将字符串分解为 ,并将结果数组连接成关联数组,例如:

$in = "20:1:21,21:0:21";
$list=explode(",",$in);
$results = array( 0 => array(), 1 => array());
foreach ($list as $item) {
$item=explode(":",$item);
if (sizeof($item)==3) {
$results[$item[1]][$item[0]] += $item[2];
}
}

注意+=此处为运算符。

期望值

array(2) {
[0]=>
array(1) {
[21]=>
int(21)
}
[1]=>
array(1) {
[20]=>
int(21)
}
}

[{"21":21},{"20":21}]作为 json 输出。

在 javascript 中可能是这样的

    var results = { 0: [], 1: [] };
for (var key in list) {
var item = list[key];
item=item.split(":");
if (item.length == 3) {
if(!results[item[1]]) results[item[1]]={};
results[item[1]][item[0]]=item[2];
}
}

但它创建了一个列表 null在附加正确的值之前先值,为什么?

最佳答案

您的 JS 代码似乎需要一个 array 作为输入,但您的输入是一个字符串。另外,您将 result 定义为一个普通对象,但实际上想要一个数组...

以下是如何在 JavaScript 中完成此操作。

var input = "20:1:21,21:0:21";

var result = input.split(",")
.map(s => s.split(":"))
.reduce((acc, [a,b,c]) => (acc[b] = {[a]: c}, acc), []);

console.log(result);

关于javascript - javascript中的php数组连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54767500/

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