分割数据在我的文本字段

Splitting data in my text field

本文关键字:文本 字段 我的 数据 分割      更新时间:2023-09-26

你好,我对javascript很陌生,所以请解释清楚。我目前正在运行一个php页面,其中包括:

<input type="text" id="data"/>
<script>
document.getElementById("data").value = localStorage.getItem('itemsArray');
</script>

这个items数组包含了这样保存的对象:

function save(){
var oldItems = JSON.parse(localStorage.getItem('itemsArray')) || [];
var newItem = {};
var num = document.getElementById("num").value;
newItem[num] = {
    "methv": document.getElementById("methv").value
    ,'q1': document.getElementById("q1").value,
    'q2':document.ge27548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}]tElementById("q2").value,
    'q3':document.getElementById("q3").value,
    'q4':document.getElementById("q4").value,
    'comm':document.getElementById("comm").value
};

oldItems.push(newItem);
localStorage.setItem('itemsArray', JSON.stringify(oldItems));}

页面结果如下所示:

[{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}},{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}]

是否存在,我可以拆分数据,这样我就可以像循环或其他东西一样一次操作一个。例如:

1日时间:

{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}
下:

{"1173627548":{"methv":"dont know","q1":"-","q2":"-","q3":"U","q4":"-","comm":""}}

等。

谢谢。

您应该JSON.parse()它,就像save()方法在填充oldItems数组时所做的那样,然后您可以循环生成的数组。

示例代码:

<input type="text" id="data"/>
<script>
 var myArray = JSON.parse(localStorage.getItem('itemsArray')) || [];
 for (var i = 0; i < myArray.length; i++) {
    var element = myArray[i];
    // Do something with element.
 }
</script>

数据已经在数组中返回,您可以使用标准的for循环遍历该数组。但是,您需要首先对其进行解析,以便获得一个可以使用标准对象方法访问的对象。

例如:

var allItems = JSON.parse(localStorage.getItem('itemsArray')) || [];
for(var i = 0; i < allItems.length; i++) {
  var item = allItems[i];
  console.log('Current item: %o', item);
  // do whatever you want to it, etc.
}

嗨,看起来你的保存脚本是从文本字段中获取数据,并将它们添加为数组中的对象。

数组存储在您的本地存储中,您可以这样获取它:

var items = JSON.parse(localStorage.getItem('itemsArray')) || [];

由于这是一个数组,你应该能够通过一个简单的for循环来遍历它:

for(var i in items){
  // this has the i object within the array
  var item = items[i];
  // if you dont know the names of the keys in the array
  // you can loop through this again using another loop
  for(var j in item){
    // you can then change this key like so:
    items[i][j] = item[j].toUpperCase(); // (this makes the value upper-case for example)
  }
  // if you do know the names then you can just change them directly
  items[i].q1 = items[i].q1.toUpperCase();
}