如何为javascript调用JSON文件中的新数据

如何为javascript调用JSON文件中的新数据,javascript,Javascript,我想检索数据以便再次使用,如何使用它 示例脚本 const data={a:1,b:2,c:3} 函数deleteData(){ const newData=data 对于(让索引=0;索引

我想检索数据以便再次使用,如何使用它

示例脚本

const data={a:1,b:2,c:3}
函数deleteData(){
const newData=data
对于(让索引=0;索引<2;索引++){
如果(索引==1){
删除新数据。a
}
}
}
删除数据()
日志(“旧数据:”+数据)
log(“新数据:”+newData)
预期的
旧数据:{a:1,b:2,c:3}


新数据:{b:2,c:3}
使用
对象。分配

const data={a:1,b:2,c:3}
const newData=Object.assign({},data)//或{…data}
函数deleteData(){
对于(让索引=0;索引<2;索引++){
如果(索引==1){
删除新数据。a
}
}
}
删除数据()
日志(“旧数据:”,数据)
log(“新数据:”,新数据)
const data={a:1,b:2,c:3}
函数deleteData(){
const newData=Object.assign({},data)
对于(让索引=0;索引<2;索引++){
如果(索引==1){
删除新数据。a
}
}
log(“新数据:”,新数据)
}
删除数据()
日志(“旧数据:”,数据)
有几点:

  • 我不确定您是试图从对象中删除多个元素,还是只是试图删除一个元素。如果只删除一个,则不需要
    for
    循环。直接删除即可
  • const
    关键字在最近的块范围内声明一个变量。在您的例子中,这就是
    deleteData
    函数。您需要将它声明为函数外部的
    let
    ,或者声明为函数内部的
    var
    ,或者从函数返回它
  • 删除项目时,该对象不是新对象,而是对旧对象的引用。因此,两者都在被修改。要防止出现这种情况,请将该对象复制到新对象中并进行修改。要执行此操作,请使用
    Object.assign
    ,或仅使用扩展运算符
  • 最好的方法是:

    const data = { a: 1, b: 2, c: 3 }
    
    function deleteData(oldData) {
        const updated = {...oldData};
        delete updated.a;
        return updated;
    }
    const newData = deleteData(data);
    console.log("old data: "+ data)
    console.log("new data: "+ newData)
    

    一些参考资料如下:,。

    我对你想要达到的目标感到非常困惑。您只是试图删除对象的第一个元素?在函数外部定义新数据。或者从函数返回新数据。在您的代码中,您只删除了一个元素,为什么要循环?请不要只发布代码作为答案,还要解释代码的作用以及它如何解决问题。带有解释的答案通常更有帮助,质量更好,更容易吸引选票。
    const data = { a: 1, b: 2, c: 3 }
    
    function deleteData(oldData) {
        const updated = {...oldData};
        delete updated.a;
        return updated;
    }
    const newData = deleteData(data);
    console.log("old data: "+ data)
    console.log("new data: "+ newData)