Para mí, sin embargo el código ha sido golpeado por seis meses, pero todavía ir fuerte en la matriz y tienen una gran variedad de objetos y sombras añadiendo, por lo que gracias a la baja de escritura
A, la adición de una matriz de objetos
jsondata valores:
jsonData = var []
var obj = []
jsonData = e.data var data_pie = new new Array (); $ each (jsonData, la función (índice de artículos) { // hasOwnProperty: ¿Hay un 'nombre' atributo de búsqueda variedad obj SI (obj.hasOwnProperty (item.name, por)) { // Si no es así, entonces que el valor de la adición de obj [item.name, por] + = (item.zongjinshui - item.zongchushui) / item.zongjinshui } else { // si esta propiedad tiene asignación directa entonces obj [item.name, para] = (item.zongjinshui - item.zongchushui) / item.zongjinshui } });
console.log (obj)
Imprimir los valores obj:
El segundo método de ciclo
era jsondata = []
era obj = []
jsondata = e.data console.log (jsondata) var data_pie = nuevo Array (); $ each (jsondata, la función (índice, elemento) {
//第二种方法
si (obj [item.name]) { obj [item.name] + = (item.zongjinshui - item.zongchushui) / item.zongjinshui } else { obj [item.name] = (item.zongjinshui - item.zongchushui) / item.zongjinshui } }); console.log (obj)
Cuando el valor de jsondata y obj es el mismo.
Aunque sólo sea para obtener una matriz de palabras, este paso ha sido bueno, pero mi proyecto es a veces necesaria una gran variedad de objetos,
// por la que atraviesa el obj matriz, la asignación de propiedad obj $ each (obj, la función (índice, elemento) {
// aquí necesidad de imprimir su propia apariencia y el valor elemento de índice de lo que son, no se dé el valor de la propiedad más el mal data_pie .push ({ ' valor ' : el artículo, ' nombre ' : índice }) }); la console.log (data_pie)
Imprimir data_pie:
En este punto, la adición de matrices y objeto de matriz se ha completado.
En segundo lugar, una serie de deduplicación
Cuando la matriz tiene los mismos atributos, pero no requiere la misma pocos, y luego considerar pesada va, dejando solamente una
// 1 reducir去重,针对数组对象 dejó persona = [ {id: 0 , nombre: " A " }, {id: 1 , nombre: " B " }, {id: 2 , nombre: " C " }, {id: 3 , nombre: " D " }, {id: 1 , nombre: " E " }, {id: 2 , nombre: " F " }, ]; dejar que obj ={}; El dejar Peón = person.reduce ((CUR, Siguiente) => { obj [next.id] ? "" : Obj [next.id] = true && cur.push (Siguiente); retorno CUR; }, [ ]) // set tipo predeterminado gama cur, y el valor inicial de la matriz vacía la console.log (Peón); // 2 al peso de ajuste para el elemento de matriz pura ARR = [el let 1. , 2 , 2 ]; la console.log ([... nueva nueva del conjunto (arr)]); // [1, 2]
vínculo original: https: // blog.csdn.net/qq_39045645/java/article/details/103383230
La falta de énfasis que no trató de salvar el primer intento.