Javascript 从数组中删除字符串项
我有一个数组,字符串和数组有相同的名称“item”,一个实例是数组,另一个是数组中的字符串,我想从数组中删除整个“item”字符串 阵列Javascript 从数组中删除字符串项,javascript,php,arrays,json,multidimensional-array,Javascript,Php,Arrays,Json,Multidimensional Array,我有一个数组,字符串和数组有相同的名称“item”,一个实例是数组,另一个是数组中的字符串,我想从数组中删除整个“item”字符串 阵列 //JSON [{ "id":"109", "text":"dashboard", "items":[ //to be ignored { "id":"1", "text":"financial_dash
//JSON
[{
"id":"109",
"text":"dashboard",
"items":[ //to be ignored
{
"id":"1",
"text":"financial_dashboard",
"items":"109" //to be deleted
},
{
"id":"108",
"text":"project_dashboard",
"items":"109" //to be deleted
}
]
}]
//Array PHP
(
[0] => Array
(
[id] => 109
[expanded] => true
[text] => Dashboard
[items] => Array //to be ignored
(
[0] => Array
(
[id] => 1
[expanded] => true
[text] => Financial Dashboard
[items] => 109 //to be deleted
)
[1] => Array
(
[id] => 108
[expanded] => true
[text] => Project Dashboard
[items] => 109 //to be deleted
)
)
))
有什么建议吗?你必须知道数组是如何工作的,这个多维数组你可以通过删除来删除它:数组[0][0]和数组[0][1]
unset($a[0][0]);
unset($a[0][1]);
您可以使用两个嵌套贴图,如下所示
var-arr=[{
“id”:“109”,
“文本”:“仪表板”,
“项”:[//将被忽略
{
“id”:“1”,
“文本”:“财务仪表板”,
“项目”:“109”//待删除
},
{
“id”:“108”,
“文本”:“项目仪表板”,
“项目”:“109”//待删除
}
]
}];
函数delNestedItems(a){
返回a.map(o=>(o.items.map(q=>(删除q.items,q)),o));
}
log(delnestedems(arr))
您可以使用如下递归PHP函数:
function removeItems(&$arr) {
if (!is_array($arr)) return;
if (isset($arr["items"]) && is_string($arr["items"])) unset($arr["items"]);
foreach ($arr as &$value ) removeItems($value);
}
可以这样称呼:
removeItems($arr);
看它继续跑
输出为:
Array
(
[0] => Array
(
[id] => 109
[text] => dashboard
[items] => Array
(
[0] => Array
(
[id] => 1
[text] => financial_dashboard
)
[1] => Array
(
[id] => 108
[text] => project_dashboard
)
)
)
)
这是一个JSON,对吗?你必须知道数组是如何工作的,这个多维数组你可以通过删除来删除它:数组[0][0],数组[0][1]
for(i=0;i