gpt4 book ai didi

javascript - 如何根据另一个数组从一个数组中获取值?

转载 作者:行者123 更新时间:2023-11-27 22:40:37 24 4
gpt4 key购买 nike

因此,我试图找出一种情况,用另一个数组 (a[]) 中的索引号填充数组 (b[])其元素满足特定条件(数组 b 将是基于数组 a 的索引号,数组 a 是图像数组,并且在以下情况下填充 b宽度大于高度)。

因此,我想出了一个假设函数,希望获得数组输出,其中我可以从 a[] 获得与 b[] 中的值对齐的列表>。不用说,这两种尝试都没有产生任何有值(value)的东西。

var a = ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh', 'hi'];
var b = [2, 4, 5];


var d = function(a, b) {
var func1 = [];
var func2 = [];

for(i = 0; i > b.length; i++) {
func1.push(a[b[i]]);
}

console.log('func1 = ' + func1); // 'func1 = []'

for(i=0; i > a.length; i++) {
if(b.indexOf(a.indexOf(a[i])) > -1) {
func2.push(a[i])
}
}
console.log('func2 = ' + func2); // 'func2 = []'
}


d(a,b) // Ideally outputs ['cd', 'ef', 'fg']

这是函数范围的问题,还是我错过了 .push 的要点?

最佳答案

for 循环中的比较是向后的。它们应该是这样的:

for(i = 0; i < b.length; i++) {
func1.push(a[b[i]]);
}

console.log('func1 = ' + func1); // 'func1 = []'

for(i=0; i < a.length; i++) {
if(b.index(a.indexOf(a[i])) > 1) {
func2.push(a[i])
}
}

此外,b.index 不是一个函数。我假设你的意思是indexOf:

var a = ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh', 'hi'];
var b = [2, 4, 5];


var d = function(a, b) {
var func1 = [];
var func2 = [];

for(i = 0; i < b.length; i++) {
func1.push(a[b[i]]);
}

console.log('func1 = ' + func1); // 'func1 = []'

for(i=0; i < a.length; i++) {
if(b.indexOf(a.indexOf(a[i])) > 1) {
func2.push(a[i])
}
}
console.log('func2 = ' + func2); // 'func2 = []'
}


d(a,b) // Ideally outputs ['cd', 'ef', 'fg']

输出:

func1 = cd,ef,fg
func2 = fg

关于javascript - 如何根据另一个数组从一个数组中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38773510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com