Сравнение значений в массиве JavaScript

#javascript

#javascript

Вопрос:

У меня есть такая переменная:

 columnData = new Array(columnWidth, columnIndex);
  

оба значения являются числами

и затем я хочу сделать следующее:

 thiscolumnWidth = columnData[1] WHERE columnData[2] == cellIndex;
  

идея в том, что я хочу thiscolumnWidth , чтобы это было значение первого значения в массиве columnData , где второе значение columnData соответствует cellIndex значению.

Причина этого заключается в том, что все это находится внутри цикла foreach, поэтому ему необходимо найти правильный массив в памяти! Все это РАБОТАЕТ отдельно от предложения Where, которого не существует в JS.

Кто-нибудь может помочь? Приветствия

Комментарии:

1. Взгляните на JSINQ (LINQ to Objects для Javascript) jsinq.codeplex.com — Он хорошо справляется с задачей, позволяя вам быстро запрашивать массивы и объекты с помощью SQL-подобных запросов.

2. Кстати … индексация массива начинается с 0, а не с 1.

Ответ №1:

Помимо использования JSLINQ, вы могли бы просто сделать что-то вроде:

 if (columnData[2] == cellIndex){
    thiscolumnWidth = columnData[1];
}
  

Ответ №2:

Дайте этому поворот, разработанный в WSH, но будет работать везде, где запускается JavaScript.

 var aValues = new Array();
aValues[100] = 123;
aValues[200] = 234;
aValues[300] = 234;

var nValue = aValues[100];
WScript.Echo( nValue );

var nValue = aValues[200];
WScript.Echo( nValue );