如何将数据从对象传递到 javascript 中的新数组?
How to pass data from object into new array in javascript?
我只想发送数据对象 var arrImg 中包含的字段之一。我要推送的第一件事是 var arrImg 的图像字段,条件是 checked is true 到 crudData 上的新数组图像:{'image':[]}。然后第二个我想将 var arrImg 的字段名称推送到 crudData 上的新数组名称中:{'name':[]}。 Checked 的值首先设置为 false,但当输入复选框被点击时会变为 true。有人理解我要问的情况吗?我是 javascript 的新手。谢谢
这是我的小提琴 https://jsfiddle.net/Annisa_Lianda30/d0ber5Lu/24/
这是我的代码:
<script>
export default {
data() {
return{
crudData:{
'id': null,
'name': [],
'image': [],
'arrImage': [],
},
}
},
imageUpload(e, maxItem){
let input = this.$refs.uploadImage
let file = input.files
if(file.length > (maxItem - this.crudData.arrImage.length)){
$('#uploadMultiFile').val('')
alert('You can only upload max '+maxItem+' items')
} else {
for(let i = 0; i < file.length; i++){
var valueArr = this.crudData.arrImage.map(function(item){ return item.fileName })
var isDuplicate = valueArr.some(function(item, idx){
return item == file[i].name
})
if (isDuplicate) {
alert("You've already uploaded this file")
continue
}else{
var arrImg = {
blob: URL.createObjectURL(file[i]),
image: file[i],
fileName: file[i].name,
checked: false,
name : null
}
this.crudData.arrImage.push(arrImg)
console.log(this.crudData.arrImage)
}
}
}
},
uploadImage(e){
this.$refs.uploadImage.click()
},
removeImage(key){
this.crudData.arrImage.splice(key, 1)
},
}
这是我从 crudData.arrImage 得到的输出:
Output Javascript
欢迎来到 SO。希望此代码片段可以帮助您找到所需的内容。
let checkedImages = this.crudData.arrImage.filter(img => img.checked)
let imageFiles = checkedImages.map(img => img.image)
let names = checkedImages.map(img => img.fileName)
console.log({ imageFiles,names })
我只想发送数据对象 var arrImg 中包含的字段之一。我要推送的第一件事是 var arrImg 的图像字段,条件是 checked is true 到 crudData 上的新数组图像:{'image':[]}。然后第二个我想将 var arrImg 的字段名称推送到 crudData 上的新数组名称中:{'name':[]}。 Checked 的值首先设置为 false,但当输入复选框被点击时会变为 true。有人理解我要问的情况吗?我是 javascript 的新手。谢谢
这是我的小提琴 https://jsfiddle.net/Annisa_Lianda30/d0ber5Lu/24/
这是我的代码:
<script>
export default {
data() {
return{
crudData:{
'id': null,
'name': [],
'image': [],
'arrImage': [],
},
}
},
imageUpload(e, maxItem){
let input = this.$refs.uploadImage
let file = input.files
if(file.length > (maxItem - this.crudData.arrImage.length)){
$('#uploadMultiFile').val('')
alert('You can only upload max '+maxItem+' items')
} else {
for(let i = 0; i < file.length; i++){
var valueArr = this.crudData.arrImage.map(function(item){ return item.fileName })
var isDuplicate = valueArr.some(function(item, idx){
return item == file[i].name
})
if (isDuplicate) {
alert("You've already uploaded this file")
continue
}else{
var arrImg = {
blob: URL.createObjectURL(file[i]),
image: file[i],
fileName: file[i].name,
checked: false,
name : null
}
this.crudData.arrImage.push(arrImg)
console.log(this.crudData.arrImage)
}
}
}
},
uploadImage(e){
this.$refs.uploadImage.click()
},
removeImage(key){
this.crudData.arrImage.splice(key, 1)
},
}
这是我从 crudData.arrImage 得到的输出: Output Javascript
欢迎来到 SO。希望此代码片段可以帮助您找到所需的内容。
let checkedImages = this.crudData.arrImage.filter(img => img.checked)
let imageFiles = checkedImages.map(img => img.image)
let names = checkedImages.map(img => img.fileName)
console.log({ imageFiles,names })