API呼び出しから次のような応答がありますが、
ここで、配列内で配列全体を繰り返す必要があります。 VueJSでそれを行うにはどうすればよいですか?
ForEachを使用して検索しました。key| valueペアのようなforEachの使用法は見つかりませんでした。
ForEachまたはelse(VueJS)のいずれかを使用して、その配列から値を取得する方法について誰でも私を助けることができますか?
ありがとうございます。それでは、お元気で、
VueJSでは、以下のようにforEachを使用できます。
let list=[];
$.each(response.data.message, function(key, value) {
list.Push(key);
});
したがって、すべての配列をlistに含めることができます。 forループを使用して値またはキーを取得します
.map()を次のように使用することもできます。
var list=[];
response.data.message.map(function(value, key) {
list.Push(value);
});
これは、forEachの使用例です。
let arr = [];
this.myArray.forEach((value, index) => {
arr.Push(value);
console.log(value);
console.log(index);
});
この場合、「myArray」はデータの配列です。
filterを使用して配列をループすることもできますが、newを取得したい場合はこれを使用する必要があります配列のフィルターされた要素を含むlist。
このようなもの:
const newArray = this.myArray.filter((value, index) => {
console.log(value);
console.log(index);
if (value > 5) return true;
});
と同じように書くことができます:
const newArray = this.myArray.filter((value, index) => value > 5);
FilterとforEachはどちらもJavaScriptメソッドであり、VueJsで問題なく動作します。また、これを見てみると面白いかもしれません:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
ネイティブjavascript関数を使用できます
var obj = {a:1,b:2};
Object.keys(obj).forEach(function(key){
console.log(key, obj[el])
})
またはforeachオブジェクトプロトタイプを作成しますが、通常は他のフレームワークで問題が発生します
if (!Object.prototype.forEach) {
Object.defineProperty(Object.prototype, 'forEach', {
value: function (callback, thisArg) {
if (this == null) {
throw new TypeError('Not an object');
}
thisArg = thisArg || window;
for (var key in this) {
if (this.hasOwnProperty(key)) {
callback.call(thisArg, this[key], key, this);
}
}
}
});
}
var obj = {a:1,b:2};
obj.forEach(function(key, value){
console.log(key, value)
})
必要なキーワードは配列をフラット化することです。最新のjavascript配列には flat メソッドが付属しています。古いブラウザをサポートする必要がある場合、 nderscorejs のようなサードパーティのライブラリを使用できます。
ネイティブEx:
var response=[1,2,3,4[12,15],[20,21]];
var data=response.flat(); //data=[1,2,3,4,12,15,20,21]
アンダースコア例:
var response=[1,2,3,4[12,15],[20,21]];
var data=_.flatten(response);