Javascript 如何使用vuejs在阵列中存储数据
我需要将来自api的数据存储到变量中。仅包含“true”的数据。我在下面给出了API输出 //api输出数据Javascript 如何使用vuejs在阵列中存储数据,javascript,arrays,vue.js,Javascript,Arrays,Vue.js,我需要将来自api的数据存储到变量中。仅包含“true”的数据。我在下面给出了API输出 //api输出数据 { "BNG-JAY-137-003": false, "BNG-JAY-137-004": true, "BNG-JAY-137-005": false } //下面是我的函数,我只需要存储变量中为真的数据。此处“selected_data”是包含API数据的变量 on(){ for(let key
{
"BNG-JAY-137-003": false,
"BNG-JAY-137-004": true,
"BNG-JAY-137-005": false
}
//下面是我的函数,我只需要存储变量中为真的数据。此处“selected_data”是包含API数据的变量
on(){
for(let key in this.selected_data) {
if(this.selected_data[key]) {
//here i need to store data which is true in an array.
}
}
}
有几种方法可以做到这一点。一种是使用
对象。键
和过滤器
:
const selected_data=this.selected_data
常量数组=Object.keys(选定的_数据).filter(key=>选定的_数据[key])
更接近原始代码的方法是将键推到数组上:
const selected_data=this.selected_data
常量数组=[]
for(所选_数据中的常量键){
如果(选定的_数据[键]){
array.push(按键)
}
}
从Vue的角度来看,这可能会作为计算属性实现,并在最后返回相关数组。或者,它可以存储在
数据
属性中,在方法的末尾使用与this.propertyName=array
等效的东西。有几种方法可以做到这一点。一种是使用对象。键
和过滤器
:
const selected_data=this.selected_data
常量数组=Object.keys(选定的_数据).filter(key=>选定的_数据[key])
更接近原始代码的方法是将键推到数组上:
const selected_data=this.selected_data
常量数组=[]
for(所选_数据中的常量键){
如果(选定的_数据[键]){
array.push(按键)
}
}
从Vue的角度来看,这可能会作为计算属性实现,并在最后返回相关数组。或者,它可以存储在
数据
属性中,在方法末尾使用与this.propertyName=array
等效的内容。您可以使用计算属性:
computed: {
valid_selected_data: function() {
return Object.keys(this.selected_data).reduce((acc, key) => {
if(this.selected_data[key]) {
acc[key] = this.selected_data[key];
}
return acc;
}, {});
}
}
该代码将创建另一个对象,该对象包含与所选数据相同的项,但仅包含真实项
如果您只需要一个具有true键的数组,请尝试以下操作:
computed: {
valid_selected_data: function() {
return Object.keys(this.selected_data).filter((key) => this.selected_data[key]);
}
}
您可以使用计算属性:
computed: {
valid_selected_data: function() {
return Object.keys(this.selected_data).reduce((acc, key) => {
if(this.selected_data[key]) {
acc[key] = this.selected_data[key];
}
return acc;
}, {});
}
}
该代码将创建另一个对象,该对象包含与所选数据相同的项,但仅包含真实项
如果您只需要一个具有true键的数组,请尝试以下操作:
computed: {
valid_selected_data: function() {
return Object.keys(this.selected_data).filter((key) => this.selected_data[key]);
}
}