Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除JSON行列而不循环_Javascript_Node.js_Json_Express - Fatal编程技术网

Javascript 删除JSON行列而不循环

Javascript 删除JSON行列而不循环,javascript,node.js,json,express,Javascript,Node.js,Json,Express,我有一个返回JSON数据的API。但是现在我想删除一些数据,而不在整个对象中循环 示例JSON数据是: [ { "cost":"KES 0.8000", "messageId":"ATXid_0fae395279b54d51519de5581230a7e8", "messageParts":1, "number":"+2547112xxxxxx", &quo

我有一个返回JSON数据的API。但是现在我想删除一些数据,而不在整个对象中循环

示例JSON数据是:

[
{
"cost":"KES 0.8000",
"messageId":"ATXid_0fae395279b54d51519de5581230a7e8",
"messageParts":1,
"number":"+2547112xxxxxx",
"status":"Success",
"statusCode":101
},
{
"cost":"KES 0.8000",
"messageId":"ATXid_19a0a09efcf39e87245a57f6403631d5",
"messageParts":1,
"number":"+2547112xxxxxx",
"status":"Success",
"statusCode":101
},
{
"cost":"0",
"messageId":"None",
"number":"+25470000000000",
"status":"InvalidPhoneNumber",
"statusCode":403
}
]
我只想提取以下数据:

[
{
"number":"+2547112xxxxxx",
"status":"Success"
},
{
"number":"+2547112xxxxxx",
"status":"Success"
},
{
"number":"+25470000000000",
"status":"InvalidPhoneNumber"
}
]

我正在将Node.js与express framework一起使用。

通过使用
.map()
函数,您可以用简单的方式执行以下操作:

console.log(arr.map({number,status})=>({
数字,
地位
})));
完整片段

const arr=[{
“成本”:“0.8000肯尼亚先令”,
“消息ID”:“ATXid_0fae395279b54d51519de5581230a7e8”,
“消息部分”:1,
“编号”:“+2547112xxxxxx”,
“状态”:“成功”,
“状态代码”:101
},
{
“成本”:“0.8000肯尼亚先令”,
“消息ID”:“ATXid_19a0a09efcf39e87245a57f6403631d5”,
“消息部分”:1,
“编号”:“+2547112xxxxxx”,
“状态”:“成功”,
“状态代码”:101
},
{
“成本”:“0”,
“messageId”:“无”,
“数字”:“+2547000000000”,
“状态”:“InvalidPhoneNumber”,
“状态代码”:403
}
];
log(arr.map({number,status})=>({
数字,
地位

})));如果没有循环,就不可能执行您想要的操作。您可以手动执行,也可以使用带有内部迭代器(map、filter、reduce等)的方法。不管怎样,循环都是必要的。这意味着什么?“不在整个对象中循环。”你不想使用array.map吗?更重要的是-1。删除数据或2。不循环?为什么不保留您不需要的数据,从而避免循环呢。你确定这不是一个循环吗?如果你手动循环对象,我想这会花费更多的时间。@PraveenKumarPurushothaman-更好是主观的-对于任何大小的数据集,它肯定更快。在专业环境中,我总是更喜欢map,因为我不必为循环编写单元测试!:-)仍然“在整个阵列上循环”。OP的问题是关于不使用循环。@RandyCasburn是的,我明白了。有时,这些问题寻求的是不使用(…)
,或者在使用{…}
时使用内置函数的
。这是有道理的-我意识到我很直白。这就是为什么我要问这些澄清的问题。您的解决方案是显而易见的——也许OP可以从解释内部迭代器为什么是有益的中获益?