Cómo llamar a los nuevos datos en el archivo JSON para Javascript -- javascript camp Relacionados El problema

How to call the new data in JSON file for javascript


0
vote

problema

Español

Quiero recuperar los datos de usarlo nuevamente, ¿cómo usarlo?

Script de ejemplo

  app.getArgument('UPDATE_INTENT')2  

esperado
app.getArgument('UPDATE_INTENT')3
app.getArgument('UPDATE_INTENT')4

Original en ingles

I want to retrieve the data for use again, how to use it?

example script

const data = { a: 1, b: 2, c: 3 }  function deleteData() {     const newData = data     for (let index = 0; index < 2; index++) {         if (index === 1) {             delete newData.a         }     } } deleteData() console.log("old data: "+ data) console.log("new data: "+ newData) 

expected
old data: { a: 1, b: 2, c: 3 }
new data: { b: 2, c: 3 }

  
     
     

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Utilice Object.assign o Spread Syntax .

  const data = { a: 1, b: 2, c: 3 } const newData = Object.assign({}, data)    // or {...data}  function deleteData() {     for (let index = 0; index < 2; index++) {         if (index === 1) {             delete newData.a         }     } } deleteData() console.log("old data: ", data) console.log("new data: ", newData)   
 

use Object.assign or spread syntax.

const data = { a: 1, b: 2, c: 3 } const newData = Object.assign({}, data)    // or {...data}  function deleteData() {     for (let index = 0; index < 2; index++) {         if (index === 1) {             delete newData.a         }     } } deleteData() console.log("old data: ", data) console.log("new data: ", newData) 
 
 
0
 
vote
  const data = { a: 1, b: 2, c: 3 } function deleteData() {     const newData = Object.assign({}, data)     for (let index = 0; index < 2; index++) {         if (index === 1) {             delete newData.a         }     }     console.log("new data: ", newData) } deleteData() console.log("old data: ", data)   
 
const data = { a: 1, b: 2, c: 3 } function deleteData() {     const newData = Object.assign({}, data)     for (let index = 0; index < 2; index++) {         if (index === 1) {             delete newData.a         }     }     console.log("new data: ", newData) } deleteData() console.log("old data: ", data) 
 
 
 
 
0
 
vote

algunos puntos:

  1. No estoy seguro de si está tratando de eliminar múltiples elementos del objeto o si está tratando de eliminar uno. Si solo está eliminando uno, no necesita el bucle Object.assign9 . Simplemente eliminarlo directamente.
  2. El margin0 Declara una variable dentro del alcance del bloque más cercano. En su caso, esa es la función margin11111 . Debe declararlo como un margin2 fuera de la función o como margin3 dentro, o devuélvalo de la función.
  3. Cuando está eliminando el artículo, el objeto no es un objeto nuevo, sino una referencia al objeto anterior. Por lo tanto, ambos están siendo modificados. Para evitar esto, copie el objeto en un nuevo objeto y modifique eso. Para hacer esto, use margin4 , o simplemente use el operador de propagación.

La mejor manera de hacerlo es así:

  margin5  

Alguna lectura de referencia: alcance en javascript , Operador de distribución .

 

A few points:

  1. I'm not sure if you are trying to delete multiple elements from the object or if you are just trying to delete one. If you are only deleting one, you don't need the for loop. Just delete it directly.
  2. The const keyword declares a variable inside the nearest block scope. In your case, that is the deleteData function. You need to either declare it as a let outside of the function or as a var inside, or return it from the function.
  3. When you are deleting the item, the object is not a new object, but a reference to the old object. Therefore, both are being modified. To prevent this, copy the object into a new object and modify that. To do this, use Object.assign, or simply use the spread operator.

The best way to do this is like this:

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) 

Some reference reading: Scope in Javascript, spread operator.

 
 

Relacionados problema

35  Validación del lado del cliente de ASP.NET  ( Asp net custom client side validation ) 
Tengo una función de validación personalizada en JavaScript en un control de usuario en un sitio web .NET 2.0 que comprueba para ver que la tarifa pagada no e...

0  LazyWeb: necesita Javascript que elimina los elementos de LI basados ​​en la clase visitada de un elemento  ( Lazyweb need javascript that removes li elements based on visited class of a el ) 
Tengo esta página que tiene muchos datos que no necesito, ya que ya he hecho clic en él, pero se repite a menudo, así que tengo que buscar visualmente el azul...

54  ¿La diferencia entre las dos funciones? ("Función X" vs "var x = función") [duplicar]  ( The difference between the two functions function x vs var x function ) 
Esta pregunta ya tiene respuestas aquí : Cerrado hace 8 años . posible duplicado: javascri...

44  Cotizaciones triples? ¿Cómo delimito un parámetro de cadena de JavaScript de datos de datos en ASP.NET?  ( Triple quotes how do i delimit a databound javascript string parameter in asp n ) 
¿Cómo delimito un parámetro de cadena con límite de datos de JavaScript en un evento de anclaje 9988777661 ? Tengo una etiqueta de anclaje en un control d...

142  ¿Cómo detectar cuál de las fuentes definidas se utilizó en una página web?  ( How to detect which one of the defined font was used in a web page ) 
Supongamos que tengo la siguiente regla de CSS en mi página: body { font-family: Calibri, Trebuchet MS, Helvetica, sans-serif; } ¿Cómo podría detec...

0  ¿Cómo puedo pasar un objeto anónimo de JavaScript de Java a JavaScript en GWT?  ( How can i pass an anonymous javascript object from java to javascript in gwt ) 
Estoy creando una envoltura GWT alrededor de una biblioteca de JavaScript. Una de las funciones de JavaScript realiza un objeto anónimo como su argumento, por...

2  ¿Hay una biblioteca de gráficos del lado del cliente (JavaScript) que no requiera un servidor? [cerrado]  ( Is there a client side javascript graph library that doesnt require a server ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

0  JavaScript: detectando cuando ninguna de las dos entradas se ha centrado  ( Javascript detecting when neither of two inputs has focus ) 
Quiero que se llame una cierta función cuando ninguna de las dos entradas en la página se ha centrado. Si el usuario simplemente cambia de una entrada a la ot...

1279  ¿Cómo pongo / no tomar una cookie con jQuery?  ( How do i set unset a cookie with jquery ) 
¿Cómo configuro y no prestar atención a una cookie utilizando jQuery, por ejemplo, cree una cookie llamada test y configure el valor en 1 ? ...

0  Deshacerse del disco en el artículo de la lista  ( Getting rid of disc in list item ) 
Estoy desarrollando un sitio usando jquery, y jquery ui Tabs. Por alguna razón, mis pestañas (lista desordenada) están mostrando sus balas en todos los navega...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos