数组中有张三、李四两个字符串,用vba生成一个判断,
时间: 2023-04-09 20:04:49 浏览: 70
判断如果数组中包含"张三"则输出"张三在数组中",如果包含"李四"则输出"李四在数组中",如果都不包含则输出"数组中没有张三或李四"。
以下是 VBA 代码:
Sub CheckArray()
Dim arr(1 To 2) As String
Dim i As Integer
Dim found As Boolean
arr(1) = "张三"
arr(2) = "李四"
For i = 1 To 2
If arr(i) = "张三" Then
found = True
Debug.Print "张三在数组中"
ElseIf arr(i) = "李四" Then
found = True
Debug.Print "李四在数组中"
End If
Next i
If Not found Then
Debug.Print "数组中没有张三或李四"
End If
End Sub
相关问题
数组中有张三、李四两个字符串,用vba生成一个判断,如果表格等于数组中的名字,则输出1,否则输出0
可以使用以下VBA代码实现:
```
Sub CheckNames()
Dim names(1 To 2) As String
names(1) = "张三"
names(2) = "李四"
Dim i As Integer
For i = 1 To 2
If Range("A1").Value = names(i) Then
Range("B1").Value = 1
Exit Sub
End If
Next i
Range("B1").Value = 0
End Sub
```
这个代码会将表格中的值与数组中的名字进行比较,如果匹配则输出1,否则输出0。
判断一个数组中有没有相同的对象
要判断一个数组中是否有相同的对象,需要先确定“相同”的定义。如果我们认为两个对象的所有属性都相等,则它们是相同的。可以使用循环遍历数组中的每个对象,然后再遍历数组中剩余的对象,将它们与当前对象进行比较。如果发现有对象的所有属性都相等,则说明数组中存在相同的对象。
以下是一个示例代码:
```javascript
function hasDuplicate(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (isEqual(arr[i], arr[j])) {
return true;
}
}
}
return false;
}
function isEqual(obj1, obj2) {
if (Object.keys(obj1).length !== Object.keys(obj2).length) {
return false;
}
for (let key in obj1) {
if (obj1[key] !== obj2[key]) {
return false;
}
}
return true;
}
// 示例
const arr = [
{ name: '张三', age: 18 },
{ name: '李四', age: 20 },
{ name: '张三', age: 18 },
{ name: '王五', age: 22 },
];
console.log(hasDuplicate(arr)); // true
```
在上面的代码中,`hasDuplicate` 函数用来判断数组中是否有相同的对象。它通过两层循环遍历数组中的每个对象,并调用 `isEqual` 函数来判断两个对象是否相同。`isEqual` 函数用来比较两个对象的所有属性是否相等。如果两个对象的属性不相同,则返回 `false`,否则返回 `true`。如果在数组中找到了相同的对象,则 `hasDuplicate` 函数返回 `true`,否则返回 `false`。