Проанализируйте код JavaScript в C#

Вы можете использовать функцию уменьшения массива, а внутри обратного обратного вызова используйте findIndex, чтобы проверить, есть ли в массиве аккумуляторов объект с таким же тегом. Если объект с таким же тегом найден, обновите счетчик в этом объекте, в противном случае вставьте текущий объект в массив аккумуляторов

let data = [{
    "tag": "#sala",
    "state": {
      "counter": 1
    }
  },
  {
    "tag": "#sala",
    "state": {
      "counter": 2
    }
  }
];
let newData = data.reduce(function(acc, curr) {
  let findTagIndex = acc.findIndex(item => item.tag === curr.tag);
  if (findTagIndex === -1) {
    acc.push(curr)
  } else {
    acc[findTagIndex].state.counter += curr.state.counter
  }
  return acc;
}, []);
console.log(newData)

7
задан Igal Tabachnik 6 April 2009 в 08:56
поделиться

4 ответа

Вы могли выполнить функцию JavaScript использование ДОЛЛАРА и/или MyJScript.

1
ответ дан 6 December 2019 в 21:19
поделиться

Вы могли использовать синтаксический анализатор JavaScript, но парсинг JavaScript для просто, что одно значение является, вероятно, путем излишество.

1
ответ дан 6 December 2019 в 21:19
поделиться

There is an open-source JavaScript interpreter in C# at http://jint.codeplex.com, if you need more than just getting the value.

4
ответ дан 6 December 2019 в 21:19
поделиться

Вам следует взглянуть на открытый код Javascript .NET ( http://javascriptdotnet.codeplex.com/ ) на Codeplex.

Этот пример кода должен вам помочь:

Javascript context = new JavascriptContext();
context.Run("var _url= 'http://www.some.url.com';") // You put your javascript in the function run
String url = (String)context.GetParameter("_url"); // You get your url from javascript

Вот и все.

6
ответ дан 6 December 2019 в 21:19
поделиться