2017-02-23 12 views
0

オブジェクトの配列をフィルタリングし、一致するオブジェクトの日付または最も近い日付のインデックスを探して、新しいオブジェクトを挿入したいと考えています。配列をフィルタリングしてスプライスのインデックスを見つけよう

let expenseIndex = tempArray.findIndex((a: any) => a.Date <= expense.Date); 
tempArray.splice(expenseIndex, 0, expense); 

<=演算子はここでは機能しません。私が==をして、費用が一致した日付で見つかった場合、私はインデックスを返しますが、一致するものがなければ0または-1となります。

答えて

1

の下に示し得ることができますが(日付でソートIST一時配列を仮定して)これを試してみてください:

temp = temp 
    .filter(v => v.Date <= exp.Date) 
    .concat(exp, array.filter(v => v.Date > exp.Date)) 
0

angularは、*ngForディレクティブを使用するときのインデックスを提供します。

あなたは現在のようなのインデックスが

<div *ngFor="let item of items; let i = index;" 
    (click)="doSomethingWithIndex(i)"> 
    {{item.title}} 
</div> 
+0

質問は、私が挿入する必要があることを指摘します新しいオブジェクトを配列に追加する既存のオブジェクトで作業している例です。とにかく、ありがとう –

関連する問題