想做一個由php轉成json,
之後在input某個值
在jquery中刪除, 請教如何做?
$item = array("a","b","c","d");
$jsonitem = json_encode($item);
var jarr = <?php echo json_encode($jsonitem); ?>;
var arr = jQuery.parseJSON(jarr);
arr.remove("b"); //這個出問題了
謝謝大師.
能再給我一點參考嗎?
我改用JSON.parse
想刪除arr 中的"b"
用splice 如何寫?
例如這樣: $item = array("peter","john","ann","amy");
我有個input: 輸入了 john
就想delete這個值 用splice filter如何寫?
範例這邊就有了
MDN Array.prototype.splice
另外 jarr 原本就不是字串,應該不用 parse
$item.splice($item.indexOf('john'), 1);
感謝你, 我要參詳一下
json 是用來記錄 key-value 類型的資料,重點是 key
array 是用來記錄一串相關資料,重點是 index
結果你的資料沒有 key,卻要用 json 來處理
你可能要想清楚你真正的目的是什麼
再繼續往下做
以下是我用 json 和 array 兩種方式做你說的結果
你看一下就知道差異在那裡了
json
var jarr = '["a","b","c","d"]';
var arr = JSON.parse(jarr);
console.log(arr);
delete arr[Object.keys(arr)[1]];
console.log(arr);
array
var mstr = "a,b,c,d";
var marr = mstr.split(",");
console.log(marr);
marr.splice(1,1);
console.log(marr);
其實我真實的資料是有 key-value
var jarr =
([0] => Array ( [name] => peter [age] => 10 )
[1] => Array ( [name] => amy [age] => 20 ) );
var arr = JSON.parse(jarr);
console.log(arr);
delete arr[Object.keys(arr)[1]];
//我現在問題在那 大約都明白 這可以delete [1] 這個位置,
//但我會有個 input輸入'peter'
//如輸入了'peter' 就想delete 我又不知到keys(arr)[1] 這個位置
console.log(arr);
其實我真實的資料是有 key-value
如果你提問用的資料不是「正確完整的資料格式」
那你也不必期待可以問到「正確完整的答案」了
GQGA
謝謝提點, 因為做了一半才發現要在array中有不同的 key-value, 但按以上 我可以如何做到我想要的?
就是我會有個 input輸入'peter'
如輸入了'peter' 就想delete 這個資料 但我可以如何在name:peter中找到相應的[1]