Показать сообщение отдельно
  #15 (permalink)  
Старый 27.05.2013, 16:55
Аватар для Paulyyy
Интересующийся
Отправить личное сообщение для Paulyyy Посмотреть профиль Найти все сообщения от Paulyyy
 
Регистрация: 01.05.2013
Сообщений: 21

Посмотрите как работает. Туда надо загрузить файл типа csv чтобы посмотреть что возвращает функция. Конечно же чтобы были дубли по 1 колонке в файле
<!DOCTYPE HTML>
<html lang="ru-RU">
<head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
	*{margin:0;padding:0}
	html, body{
		width: 100%;
		height: 100%;
	}
	
	html, body, textarea, input{
		font: 20px serif;
		background-color: #220;
		color: #ddf;
	}
	
	textarea{width: 100%;
		height: 90%;
		border: none;
	}
	</style>
<script type="text/javascript">

    function read(files) { //read files
        var i = files.length,
            reader = new FileReader();

        reader.onload = function () {
            example(reader.result);
        };

        reader.readAsText(files[--i]);
    }

    function arrayFromCSV(csv) {
        var lines = csv.split(/[\r\n]+/), i = lines.length, //split on strings
            array = new Array(); // create an array

        lines.forEach(function (el, i, lines) {
            if (i > 0) {
                array.push(el.split(',')); //split by commas, and fill an array 
            };
        });
    
        return array;
    }

    function arrayToCSV(array) {
        var csv = '';
        
        for (var i = 0, l = array.length; i < l; i++) {
            csv += (array[i] && array[i].join(',') || '') + '\r\n';
        };
        return csv;
    }


    function id(i) {
        return document.getElementById(i);
    }


    function example(csv) {
        var table = arrayFromCSV(csv),
            text = id('textarea');


        text.value = arrayToCSV(table);

    function Dublicates(array) {
            var dubl = [];

            for (var i = 0, l = array.length - 1; i < l; i++) {
                for (var j = i + 1;  j < array.length; j++) {
                    if (array[i][0] == array[j][0] && array[j] != 'marker') { // search for the same account numbers

                        dubl = array.splice(j, 1);

                    };
                    
                };
            };


            return dubl;          
        }

        text.value += '===== Noted Dublicates Account Numbers =====\n' + arrayToCSV(Dublicates(table));
Ответить с цитированием