Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.01.2016, 21:54
Новичок на форуме
Отправить личное сообщение для frealy121212 Посмотреть профиль Найти все сообщения от frealy121212
 
Регистрация: 18.01.2016
Сообщений: 5

json данные, сумма чисел.
Есть такой вот скрипт

<script>
function sIncrease(i, ii) {
if(!i.online) return 1;
if(!ii.online) return -1;
var pl1 = parseInt(i.players.split('/')[0],10);
var pl2 = parseInt(ii.players.split('/')[0],10);

 if (pl1 > pl2)
 return -1;
 else if (pl1 < pl2)
 return 1;
 else
 return 0;
}

var offline = '<img src="http://image.www.gametracker.com/images/maps/160x120/nomap.jpg">';
var Data;
var AllowToRent = false;

$(document).ready(function(){
$.getJSON('http://site.ru/file.json', function(data) {
   Data = data;
   Data.sort(sIncrease);
   
   
for(var i = 0; i< Data.length ; i++)
	{
		if(typeof(Data[i]) != "undefined" )
		{

			var dataRow = Data[i];
			
		if(dataRow.online)
			{
				$( "#monitoring" ).append( "тут html код "+dataRow.players +"" );
			}
		}
	}
	

});

});

</script>

вывод в html через <div id="monitoring"></div>

В json файле есть значения "players":"5/20" допустим, их очень много.
Выводится через "+dataRow.players +"
Как получить сумму всех значений которая находится до слеша и вывести её аналогичным образом?
Так же, сейчас стоит сортировка по первому значению до слеша, чем больше, тем выше по списку оно выводит.

Последний раз редактировалось frealy121212, 18.01.2016 в 22:01.
Ответить с цитированием
  #2 (permalink)  
Старый 18.01.2016, 21:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

frealy121212,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 18.01.2016, 22:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

frealy121212,
завести переменную для суммы с величиной 0 и прибавлять к ней нужное значение , а после цикла вывести куда вам нужно
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2016, 22:06
Новичок на форуме
Отправить личное сообщение для frealy121212 Посмотреть профиль Найти все сообщения от frealy121212
 
Регистрация: 18.01.2016
Сообщений: 5

Сообщение от рони Посмотреть сообщение
frealy121212,
завести переменную для суммы с величиной 0 и прибавлять к ней нужное значение , а после цикла вывести куда вам нужно
очень плох в javascript и данная задача для меня почти невозможна (пока что), этот код писал не я.
хотелось бы примера или желательно сразу нужный код.
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2016, 22:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

frealy121212,
тогда нужен пример data хотя бы на три игрока
Ответить с цитированием
  #6 (permalink)  
Старый 18.01.2016, 22:11
Новичок на форуме
Отправить личное сообщение для frealy121212 Посмотреть профиль Найти все сообщения от frealy121212
 
Регистрация: 18.01.2016
Сообщений: 5

Сообщение от рони Посмотреть сообщение
frealy121212,
тогда нужен пример data хотя бы на три игрока
не совсем понял что нужно, но массив такой.
[
{"куча не нужных переменных","players":"16/24","еще куча"},
{"куча не нужных переменных","players":"1/20","еще куча"},
{"куча не нужных переменных","players":"13/13","еще куча"}
]
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2016, 22:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

frealy121212,
у online какие параметры ?
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2016, 22:14
Новичок на форуме
Отправить личное сообщение для frealy121212 Посмотреть профиль Найти все сообщения от frealy121212
 
Регистрация: 18.01.2016
Сообщений: 5

true\false
этот параметр определяет работает ли сервер вообще.
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2016, 22:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

frealy121212,
медитируйте ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

  <script>
     $(function(){
var data = [
{"online": true,"players":"16/24","name" : "SSS"},
{"online": false,"players":"1/20","name" : "TTT"},
{"online": true,"players":"13/13","name" : "PPP"}
];//убрать

function fn(c) {
    c = c.filter(function(a) {
        return a.online
    }).sort(function(a, b) {
        return b.players.split("/")[0] - a.players.split("/")[0]
    }).reduce(function(a, b) {
        $("#monitoring").append("Игрок " + b.name + " результат : " +b.players + "<br>"); // b.name убрать
        return a + +b.players.split("/")[0]
    }, 0);
    $("#monitoring").append("Итого : " + c)
};
fn(data);//это убрать ниже раскоментировать
/* $.getJSON('http://site.ru/file.json', fn);    */
});


  </script>
</head>

<body>
<div id="monitoring"></div>

</body>

</html>
Ответить с цитированием
  #10 (permalink)  
Старый 18.01.2016, 23:12
Новичок на форуме
Отправить личное сообщение для frealy121212 Посмотреть профиль Найти все сообщения от frealy121212
 
Регистрация: 18.01.2016
Сообщений: 5

Сообщение от рони Посмотреть сообщение
frealy121212,
медитируйте ...
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

  <script>
     $(function(){
var data = [
{"online": true,"players":"16/24","name" : "SSS"},
{"online": false,"players":"1/20","name" : "TTT"},
{"online": true,"players":"13/13","name" : "PPP"}
];//убрать

function fn(c) {
    c = c.filter(function(a) {
        return a.online
    }).sort(function(a, b) {
        return b.players.split("/")[0] - a.players.split("/")[0]
    }).reduce(function(a, b) {
        $("#monitoring").append("Игрок " + b.name + " результат : " +b.players + "<br>"); // b.name убрать
        return a + +b.players.split("/")[0]
    }, 0);
    $("#monitoring").append("Итого : " + c)
};
fn(data);//это убрать ниже раскоментировать
/* $.getJSON('http://site.ru/file.json', fn);    */
});


  </script>
</head>

<body>
<div id="monitoring"></div>

</body>

</html>
попробую.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше всего добавлять на страницу данные, пришедшие в json? ogurchik AJAX и COMET 7 08.10.2015 15:01
JSON данные принять на стороне клиента tenatin Общие вопросы Javascript 5 05.03.2014 16:32
Как достать данные из JSON массива? Dimaz jQuery 15 27.11.2012 21:58
ajax $.post вместо json проблема данные не приходят Sadist_dead AJAX и COMET 2 12.07.2012 17:59
json данные не грузятся в windows XP но грузятся в w7 rustamaha Элементы интерфейса 2 28.11.2011 12:35