Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Creare array bidimensionale partendo da due array monodimensionale

    Ciao a tutti
    sto tentando di creare un array bidimensionale partendo da due semplici array:
    a = new Array ("a","b","c");
    b = new Array (1,2,3,4,5);
    il terzo array, quello bidimensionale dovrebbe contenere tutti gli elementi del primo "moltiplicati" per quelli del secondo.Un risultato del genere:[1][a],[1][b],[1][c]
    finora ho scritto un piccolo prototype ma nn riesco ad ottenere il risultato voluto.Questo è il codice:
    Array.prototype.joinArrays = function(firstArray, secondArray) {
    for (var x = 0; x<firstArray.length; x++) {
    for (var i = 0; i<secondArray.length; i++) {
    this.push[x][i]);
    }
    }
    return this;
    };
    a = new Array ("a","b","c");
    b = new Array (1,2,3,4,5);
    c.joinArrays(a,b)

  2. #2
    La puoi semplificare in questo modo, ti crei un array di oggetti ed ogni oggetto avrà come elemento 0 l'indice corrente del primo array e l'indice corrente del secondo come elemento 1:

    codice:
    Array.prototype.joinArrays = function(firstArray, secondArray) { 
    	for (var x = 0; x < firstArray.length; x++) {
    		var mainElement = firstArray[x];
    		for (var i = 0; i < secondArray.length; i++) { 
    			var obj = new Object();		
    			obj[0] = firstArray[x];
    			obj[1] = secondArray[i];
    			this.push(obj);
    		} 
    	} 
    	return this; 
    };
    
    
    a = new Array ("a","b","c"); 
    b = new Array (1,2,3,4,5); 
    c = [];
    c.joinArrays(a,b)
    Il risultato sarà:

    Variable _level0.c = [object #3, class 'Array'] [
    0:[object #4, class 'Object'] {
    0:"a",
    1:1
    },
    1:[object #5, class 'Object'] {
    0:"a",
    1:2
    },
    2:[object #6, class 'Object'] {
    0:"a",
    1:3
    },
    3:[object #7, class 'Object'] {
    0:"a",
    1:4
    },
    4:[object #8, class 'Object'] {
    0:"a",
    1:5
    },
    5:[object #9, class 'Object'] {
    0:"b",
    1:1
    },
    6:[object #10, class 'Object'] {
    0:"b",
    1:2
    },
    7:[object #11, class 'Object'] {
    0:"b",
    1:3
    },
    8:[object #12, class 'Object'] {
    0:"b",
    1:4
    },
    9:[object #13, class 'Object'] {
    0:"b",
    1:5
    },
    10:[object #14, class 'Object'] {
    0:"c",
    1:1
    },
    11:[object #15, class 'Object'] {
    0:"c",
    1:2
    },
    12:[object #16, class 'Object'] {
    0:"c",
    1:3
    },
    13:[object #17, class 'Object'] {
    0:"c",
    1:4
    },
    14:[object #18, class 'Object'] {
    0:"c",
    1:5
    }
    ]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.